[GHC] #7310: Compiler nontermination on UNPACK pragmas
GHC
cvs-ghc at haskell.org
Mon Oct 8 20:53:56 CEST 2012
#7310: Compiler nontermination on UNPACK pragmas
--------------------------------+-------------------------------------------
Reporter: nwf | Owner:
Type: bug | Status: new
Priority: normal | Component: Compiler
Version: 7.6.1 | Keywords:
Os: Linux | Architecture: x86_64 (amd64)
Failure: Compile-time crash | Testcase:
Blockedby: | Blocking:
Related: |
--------------------------------+-------------------------------------------
Feeding GHC 7.6.1 (from git) ill-advised UNPACK pragmas like
{{{
data T1 = T1 {-# UNPACK #-} !T1
}}}
results in GHC going into infinite wait; gdb reports
{{{
#1 0x0000000001f7f979 in waitCondition ()
#2 0x0000000001f68c3b in yieldCapability ()
#3 0x0000000001f712d2 in schedule ()
#4 0x0000000001f727b5 in scheduleWaitThread ()
#5 0x0000000001f6f40e in real_main ()
#6 0x0000000001f6f50a in hs_main ()
#7 0x0000000000495763 in main ()
}}}
This happens, apparently, whenever there's possible recursion through an
UNPACK pragma, even in the (I think) well-formed
{{{
data T0 = T0 T1
data T1 = T1 {-# UNPACK #-} !T0
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7310>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the Glasgow-haskell-bugs
mailing list