
19 Mar
2009
19 Mar
'09
6:51 a.m.
jutaro wrote:
I've installed a GUI application based on gtk2hs.
It frequently crashes with the error: leksah: error: a C finalizer called back into Haskell. use Foreign.Concurrent.newForeignPtr for Haskell finalizers.
This error did never occur with the 6.10 released version. It was verified that this happens on different machines. I've no idea how to isolate this bug.
This will need to be fixed in gtk2hs. Previously GHC allowed finalizers to call back into Haskell, but this was never officially supported. Now it is officially unsupported, because finalizers created via Foreign.mkForeignPtr are run directly by the garbage collector. See http://hackage.haskell.org/trac/ghc/ticket/1364 Cheers, Simon