id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	os	architecture	failure	difficulty	testcase	blockedby	blocking	related
7310	Compiler nontermination on UNPACK pragmas	nwf		"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
}}}"	bug	closed	normal		Compiler	7.6.1	fixed			Linux	x86_64 (amd64)	Compile-time crash	Unknown				
