[GHC] #15382: heapprof001 segfaults in prof_hc_hb way on i386
GHC
ghc-devs at haskell.org
Sun Dec 23 00:45:11 UTC 2018
#15382: heapprof001 segfaults in prof_hc_hb way on i386
-------------------------------------+------------------------------
Reporter: bgamari | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone: 8.8.1
Component: Compiler | Version: 8.4.3
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: x86
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+------------------------------
Comment (by bgamari):
I have been able to reproduce this issue under `rr`. The backtrace looks
like,
{{{
LDV_recordDead (c=c at entry=0x42000a60c8, size=4, size at entry=6) at
rts/ProfHeap.c:205
205 ctr->c.ldv.void_total += size;
>>> bt
#0 LDV_recordDead (c=c at entry=0x42000a60c8, size=4, size at entry=6) at
rts/ProfHeap.c:205
#1 0x0000000000a790f4 in processHeapClosureForDead (c=0x42000a60c8) at
rts/LdvProfile.c:124
#2 processNurseryForDead () at rts/LdvProfile.c:192
#3 LdvCensusForDead (N=1) at rts/LdvProfile.c:236
#4 0x0000000000a8174b in GarbageCollect (collect_gen=collect_gen at entry=1,
do_heap_census=do_heap_census at entry=false, gc_type=gc_type at entry=0,
cap=cap at entry=0x12afd80 <MainCapability>, idle_cap=idle_cap at entry=0x0) at
rts/sm/GC.c:461
#5 0x0000000000a6ff55 in scheduleDoGC (pcap=pcap at entry=0x7ffc87622758,
force_major=force_major at entry=true, task=0x1e0d660) at rts/Schedule.c:1806
#6 0x0000000000a71110 in exitScheduler
(wait_foreign=wait_foreign at entry=false) at rts/Schedule.c:2663
#7 0x0000000000a7cb12 in hs_exit_ (wait_foreign=false) at
rts/RtsStartup.c:392
#8 0x0000000000a7cfc5 in shutdownHaskellAndExit (n=0,
fastExit=fastExit at entry=0) at rts/RtsStartup.c:553
#9 0x0000000000a6dde1 in hs_main (argc=<optimized out>, argv=<optimized
out>, main_closure=<optimized out>, rts_config=...) at rts/RtsMain.c:99
#10 0x0000000000410fd3 in main ()
}}}
`ctr` is `NULL` (which there happens to be an `ASSERT` to check for, but
the testcase isn't compiled against the debug RTS).
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15382#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list