[GHC] #9078: Segfault with makeStableName

GHC ghc-devs at haskell.org
Sun May 18 21:27:25 UTC 2014


#9078: Segfault with makeStableName
-------------------------------------+------------------------------------
        Reporter:  robertce          |            Owner:
            Type:  bug               |           Status:  patch
        Priority:  highest           |        Milestone:  7.8.3
       Component:  Compiler          |          Version:  7.8.2
      Resolution:                    |         Keywords:
Operating System:  Unknown/Multiple  |     Architecture:  Unknown/Multiple
 Type of failure:  None/Unknown      |       Difficulty:  Unknown
       Test Case:                    |       Blocked By:
        Blocking:                    |  Related Tickets:
-------------------------------------+------------------------------------
Changes (by lerkok):

 * cc: erkokl@… (added)


Comment:

 A recent bug reported in SBV points to the same problem:
 https://github.com/LeventErkok/sbv/issues/87

 Only with GHC 7.8.2; heavy calls to SBV's `sat/prove` calls start causing
 seemingly random failures. We were able to track it down to the uses of
 `makeStableName`. We have '''not''' observed seg-faults, but we did
 observe erroneous behavior that we could not replicate with GHC 7.6.3 and
 earlier.

 SBV uses `makeStableName` to implement Andy Gill's type-safe observable
 sharing idea (as described here:
 http://www.ittc.ku.edu/csdl/fpg/papers/Gill-09-TypeSafeReification.html),
 which is a popular trick amongst DSL implementations these days. I'm not
 sure if Accelerate uses it for the same purpose, but I suspect this bug
 can impact a bunch of other DSL implementations out there, and would be
 really hard to debug for end-users. A timely fix before 7.8.2 becomes more
 widely adapted would be really good for the community.

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


More information about the ghc-tickets mailing list