
#11645: Heap profiling - hp2ps: samples out of sequence -------------------------------------+------------------------------------- Reporter: thomie | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Profiling | Version: 8.0.1-rc2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: | libraries/hpc/tests/fork/hpc_fork Blocked By: | Blocking: Related Tickets: #664 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by jme): The problem is that the profiler doesn't work with `forkProcess` (''e.g.'', see #8862). In this particular case, the issue is that the elapsed ''per-process'' time is being reported for each sample. Since the parent spends more time performing the forks than each child does executing `threadDelay`, its elapsed time is the largest. But the parent outputs its sample before either child, and so the samples appear out of order. The reason this behavior does not cause a problem when using 7.10.3 is that the sample times used to only be reported in hundredths of a second (and so were all 0.00). As of 1da3bbd2bd82ea11f8a1d760385df84708bbea63, they are being reported with full precision. One possible way to work around this is to simply increase the `threadDelay` intervals for each child (400000 for the first and 800000 for the second worked for me). -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11645#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler