#7240: Stack trace truncated too much with indirect recursion
------------------------------+---------------------------------------------
 Reporter:  nomeata           |          Owner:  nomeata         
     Type:  bug               |         Status:  new             
 Priority:  normal            |      Component:  Profiling       
  Version:  7.4.1             |       Keywords:                  
       Os:  Unknown/Multiple  |   Architecture:  Unknown/Multiple
  Failure:  None/Unknown      |       Testcase:                  
Blockedby:                    |       Blocking:                  
  Related:                    |  
------------------------------+---------------------------------------------
 This is to write down the improvements suggestions for the stack trace
 that I had after the HIW talk. Consider:

 {{{
 $ cat truncstack.hs
 import System.Environment
 import Debug.Trace

 runThisTwice x y = x y >> x y
 main = getArgs >>= runThisTwice go1 . head
 go1 l = runThisTwice go2 l
 go2 l = runThisTwice go l
 go x = traceStack x (error "done")
 $ ghc --make -prof -fprof-auto truncstack.hs && ./truncstack x
 [1 of 1] Compiling Main             ( truncstack.hs, truncstack.o )
 Linking truncstack ...
 x
 Stack trace:
   Main.go (truncstack.hs:8:1-34)
   Main.runThisTwice (truncstack.hs:4:1-29)
   Main.main (truncstack.hs:5:1-42)
   Main.CAF (<entire-module>)
 truncstack: done
 }}}

 Clearly. the programer would want go1 and go2 to be mentioned as well.

 I think it would not be too hard to keep the stacktrace more complete and
 only truncate “real” recursion (i.e. repeating sublists in the stack), or
 even annotate them with the number of loops. Simon Marlow told me that one
 need to ensure that a change in the stack does not have unwanted effects
 on the profiling attributions.

 I plan to look into this issue (unless someone shouts “no no don’t do
 that”).

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7240>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to