[GHC] #9078: Segfault with makeStableName
GHC
ghc-devs at haskell.org
Mon May 5 13:23:40 UTC 2014
#9078: Segfault with makeStableName
------------------------------------+-------------------------------------
Reporter: robertce | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.8.2
Keywords: | Operating System: Unknown/Multiple
Architecture: Unknown/Multiple | Type of failure: None/Unknown
Difficulty: Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: |
------------------------------------+-------------------------------------
Calling `makeStableName` on the same object many times causes a segfault.
The following triggers this behaviour on both OSX and Linux-x86_64,
provided it is compiled (it doesn't seem to occur if the call to
`makeStableName` is interpreted).
{{{
module Main where
import Control.Monad
import System.Mem.StableName
main :: IO ()
main = replicateM_ 100000 (makeStableName foo)
foo :: Int
foo = 1
}}}
It seems to happen largely at random. The 100000 calls to `makeStableName`
in the above example essentially guarantee its occurrence, but I have
observed it happen with far fewer.
The reason this bug was discovered is it is causing frequent failures in
Accelerate on 7.8.2. See
[https://github.com/AccelerateHS/accelerate/issues/162]. In that case it
seems to be causing more `strange closure type` errors than segfaults, but
I assume it is the same root cause.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9078>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list