[GHC] #8834: 64-bit windows cabal.exe segfaults in GC

GHC ghc-devs at haskell.org
Mon Mar 17 10:37:33 UTC 2014


#8834: 64-bit windows cabal.exe segfaults in GC
----------------------------------+----------------------------------
        Reporter:  awson          |            Owner:  jstolarek
            Type:  bug            |           Status:  patch
        Priority:  highest        |        Milestone:  7.8.1
       Component:  Compiler       |          Version:  7.8.1-rc2
      Resolution:                 |         Keywords:
Operating System:  Windows        |     Architecture:  x86_64 (amd64)
 Type of failure:  Runtime crash  |       Difficulty:  Unknown
       Test Case:                 |       Blocked By:
        Blocking:                 |  Related Tickets:
----------------------------------+----------------------------------

Comment (by simonpj):

 Interesting; good progress.

  * Can you (by experiment) find which of registers is causing the problem.
 You fixed it by making them ''all'' caller saves, but that might be more
 than what's needed.

  * You say "It looks that sinking is not performed here for some reason
 that I was unable to figure out".  I suspect it'd really be worth figuring
 this out.  Maybe it's important!

  * You hypothesise that the C procedure `memchr` is destroying a callee-
 saves register.  Might it be possible to test this hypothesis directly?
 For example, make the Haskell code call `my_memchr` instead, and handwrite
 `my_memchr` in assembly code, so that it saves all the registers (in a
 static location), calls the real `memchr`, and then checks whether the
 registers have changed.  That would absolutely confirm that a claimed
 callee-saves register is being destroyed.

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


More information about the ghc-tickets mailing list