[GHC] #12757: Compiled program segfaults at -O1
GHC
ghc-devs at haskell.org
Sun Oct 23 11:15:25 UTC 2016
#12757: Compiled program segfaults at -O1
-------------------------------------+-------------------------------------
Reporter: hvr | Owner:
Type: bug | Status: new
Priority: highest | Milestone: 8.0.2
Component: Compiler | Version: 8.1
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: Runtime crash
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
This affects GHC 8.0.2dev (d84a824cebe94711528727bcb587bfc369ec36a2) as
well as GHC HEAD (c23dc6164d54eacc654516b885104dc8b7678f16)
The following program results in a segfault when compiled at -O1 or more:
{{{#!hs
{-# LANGUAGE OverloadedStrings #-}
module Main (main) where
import Data.ByteString (ByteString)
import qualified Data.ByteString as B
answers :: [ByteString]
answers = map (B.filter (/= 0x20))
[ "e3b0c442 98fc1c14 9afbf4c8 996fb924 27ae41e4 649b934c a495991b
7852b855"
, "d7a8fbb3 07d78094 69ca9abc b0082e4f 8d5651e4 6d3cdb76 2d02d0bf
37c9e592"
, "e4c4d8f3 bf76b692 de791a17 3e053211 50f7a345 b46484fe 427f6acc
7ecc81be"
, "ba7816bf 8f01cfea 414140de 5dae2223 b00361a3 96177a9c b410ff61
f20015ad"
, "248d6a61 d20638b8 e5c02693 0c3e6039 a33ce459 64ff2167 f6ecedd4
19db06c1"
, "cf5b16a7 78af8380 036ce59e 7b049237 0b249b11 e8f07a51 afac4503
7afee9d1"
, "cdc76e5c 9914fb92 81a1c7e2 84d73e67 f1809a48 a497200e 046d39cc
c7112cd0"
]
x, y :: ByteString
x = "e3b0c442 98fc1c14 9afbf4c8 996fb924 27ae41e4 649b934c a495991b
7852b855"
y = B.filter (/= 0x20) x
main :: IO ()
main = do
print (seq x ())
print (seq y ())
print (length answers)
print (seq (head answers) ()) -- segfault!
}}}
{{{
$ ghc-8.0.2 -fforce-recomp --make -O1 bug.hs && ./bug
[1 of 1] Compiling Main ( bug.hs, bug.o )
Linking bug ...
()
()
7
Segmentation fault
}}}
{{{
$ ghc-8.0.2 -fforce-recomp --make -O0 bug.hs && ./bug
[1 of 1] Compiling Main ( bug.hs, bug.o )
Linking bug ...
()
()
7
()
}}}
I haven't yet investigated why this happens.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12757>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list