
#11627: Segmentation fault for space_leak_001 with profiling (-hc) -------------------------------------+------------------------------------- Reporter: thomie | Owner: jme Type: bug | Status: new Priority: high | Milestone: Component: Profiling | Version: 7.10.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: | perf/space_leaks/space_leak_001 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by jme): * owner: => jme Comment: The segfault occurs because `shrinkMutableByteArray#` and `resizeMutableByteArray#` introduce slop at the ends of the `large_object` `MutableByteArray#`s holding the `Integer`s. Since the arrays are large, they are not copied during GC, so this slop is still present when the heap census is run (after GC). But when `heapCensusChain` encounters a shrunken `MutableByteArray#`, it thinks the slop following the array is another closure, and chaos quickly ensues. The fix should be straightforward. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11627#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler