Re: [GHC] #7970: Thread GC frees roots before thread actually finishes
#7970: Thread GC frees roots before thread actually finishes -------------------------------------+------------------------------------ Reporter: joeyadams | Owner: simonmar Type: bug | Status: closed Priority: high | Milestone: 7.8.1 Component: Runtime System | Version: 7.6.3 Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: Runtime crash | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: 7170 -------------------------------------+------------------------------------ Comment (by ezyang): Hey Simon, you added a test for this, but (1) it is not being run with the regular test suite, and (2) it is failing. I think you may have forgotten to check in the expected output. {{{ commit 5bcf82fd981c9bfc0277d35a0d5d2db8d2f7d073 Author: Simon Marlow <marlowsd@gmail.com> Date: Tue Jul 2 11:27:20 2013 +0100 Add test for #7970 }}} There is also a mysterious ./tests/concurrent/should_run/.hpc.conc067 which tagged along with that commit, which I do not know if it should be there; it seems unrelated. {{{ =====> T7970(normal) 3084 of 3686 [0, 0, 0] cd ./concurrent/should_run && '/srv/code/ghc-build-sandbox/inplace/bin /ghc-stage2' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no- user-package-db -rtsopts -fno-ghci-history -o T7970 T7970.hs
T7970.comp.stderr 2>&1 cd ./concurrent/should_run && ./T7970 </dev/null >T7970.run.stdout 2>T7970.run.stderr Actual stdout output differs from expected: --- /dev/null 2013-07-07 10:51:38.467280914 -0700 +++ ./concurrent/should_run/T7970.run.stdout 2013-07-20 15:22:26.355123844 -0700 @@ -0,0 +1,4 @@ +IORef still alive, and contains 'x' +caught exception: thread blocked indefinitely in an MVar operation +IORef still alive, and contains 'x' +'x' }}}
-- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/7970#comment:10> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
participants (1)
-
GHC