[Haskell-cafe] Debugging a test suite freeze
Li-yao Xia
lysxia at gmail.com
Fri Dec 2 00:14:27 UTC 2022
GHC 9.4.3 with -O2 is miscompiling the derived Show and Eq instances for
SeqT in logict-sequence.
main :: IO ()
main = print (pure 0 :: Seq Int)
-- -O0, -O1: prints the Seq
-- -O2: <<loop>>
On top of that, both hedgehog and hspec fail to catch `<<loop>>`.
main :: IO ()
main = defaultMain
[ check $ property $ do
let x = x :: Int -- obvious loop compiles to a thrown
exception <<loop>>
if x == x then pure () else pure () ]
-- "thread blocked indefinitely in an STM transaction"
-- meaning some thread is not getting cleaned up properly
main :: IO ()
main = hspec $ do
describe "work" $ do
it "works" $ do
let x = x :: Int -- obvious loop compiles to a thrown
exception <<loop>>
if x == x then pure () else pure () :: IO ()
--- hangs
Cheers,
Li-yao
On 2022-11-30 10:33 PM, David Feuer wrote:
The logict-sequence test suite consistently freezes up on the last
test when compiled with GHC 9.4.3. logict-sequence and its test suite
don't do anything special with that GHC/base version as far as I can
see, or anything particularly strange in general, so I'm pretty
confident the problem lies elsewhere. My best guesses are hedgehog,
tasty, and tasty-hedgehog. Has anyone else run into weird issues with
any/all of these on GHC 9.4.3?
David
_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20221202/473220c2/attachment.html>
More information about the Haskell-Cafe
mailing list