[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