
#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