[GHC] #11776: RTS segfaults when printing profiling information which refers to unloaded objects
GHC
ghc-devs at haskell.org
Wed Mar 30 20:57:10 UTC 2016
#11776: RTS segfaults when printing profiling information which refers to unloaded
objects
-------------------------------------+-------------------------------------
Reporter: afarmer | Owner: afarmer
Type: bug | Status: new
Priority: normal | Milestone:
Component: Runtime | Version: 7.10.3
System (Linker) |
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
Running a profiled binary which loads/unloads objects via the RTS's linker
results in a CCS tree with pointers to the shared objects. These
references are not checked by checkUnload before unloading the object.
Then, when the profiling report is printed at the end of the program, a
segfault occurs.
Plan:
1. Add a test case for this.
2. Modify checkUnload to prevent objects from being unloaded if the CCS
tree points to them.
3. Modify generateCCSReport to prune the CCS tree after a report is
printed.
4. Expose some way to generate a report on demand, so long-running
programs don't keep every object loaded forever.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11776>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list