
#13167: GC and weak reference finalizers and exceptions -------------------------------------+------------------------------------- Reporter: Yuras | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonmar): The example program in the description doesn't wait for the finalizer threads to complete, so it might exit while there are still finalizers alive. This is why you don't see deterministic output. Probably adding a `threadDelay 1000000` at the end would be enough. A deadlock sounds like a plausible explanation for the behaviour you're seeing. The fix to `runFinalizerBatch` looks good - we should probably do that anyway (I'm sure you could construct a test case to demonstrate the problem that it fixes). -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13167#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler