[GHC] #11978: running a profiled build of shake test suite with rts args +RTS -hb -N10 triggers SIGSEGV

GHC ghc-devs at haskell.org
Tue Apr 26 10:13:37 UTC 2016


#11978: running a profiled build of shake test suite with rts args  +RTS -hb -N10
triggers SIGSEGV
---------------------------------+----------------------------------------
        Reporter:  carter        |                Owner:
            Type:  bug           |               Status:  new
        Priority:  highest       |            Milestone:
       Component:  Compiler      |              Version:  8.0.1
      Resolution:                |             Keywords:
Operating System:  MacOS X       |         Architecture:  Unknown/Multiple
 Type of failure:  None/Unknown  |            Test Case:
      Blocked By:                |             Blocking:
 Related Tickets:  #4820         |  Differential Rev(s):
       Wiki Page:                |
---------------------------------+----------------------------------------

Comment (by erikd):

 A bit of printf debugging showed the problem was in
 `includes/rts/storage/ClosureMacros.h` in the function
 `overwritingClosure` in the code:

 {{{
     for (i = 0; i < size - sizeofW(StgThunkHeader); i++) {
         ((StgThunk *)(p))->payload[i] = 0;
     }
 }}}

 The problem was that `size` was less than `sizeofW(StgThunkHeader)`
 resulting an unsigned integer overflow, cause the code to write past where
 it should.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11978#comment:10>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list