Help me grok addFinalizer

Michael Craig mkscrg at gmail.com
Thu Feb 16 22:06:50 CET 2012


> This seems to be an explanation of why a finalizer might run later than
expected (or not run at all). But his paste shows that it runs *earlier*
than what he expected.

What he said.

> 64-bit GHC on OS X gives me this:
>
> ...
>
> However, it's a different story when `-O2` is specified:
>
> ...

You're right. I was compiling with cabal and had -O turned on without
knowing it. So this looks like an optimization bug?

Mike Craig



On Thu, Feb 16, 2012 at 3:55 PM, Austin Seipp <mad.one at gmail.com> wrote:

> 64-bit GHC on OS X gives me this:
>
> $ ghc -fforce-recomp -threaded finalizer
> [1 of 1] Compiling Main             ( finalizer.hs, finalizer.o )
> Linking finalizer ...
> $ ./finalizer
> waiting ...
> done!
> waiting ...
> running finalizer
> done!
>
> However, it's a different story when `-O2` is specified:
>
> $ ghc -O2 -fforce-recomp -threaded finalizer
> [1 of 1] Compiling Main             ( finalizer.hs, finalizer.o )
> Linking finalizer ...
> $ ./finalizer
> waiting ...
> running finalizer
> done!
> waiting ...
> done!
>
> This smells like a bug. The stranger thing is that the GC will run the
> finalizer, but it doesn't reclaim the object? I'd think `readIORef`
> going after an invalidated pointer the GC reclaimed would almost
> certainly crash.
>
> On Thu, Feb 16, 2012 at 2:04 PM, Michael Craig <mkscrg at gmail.com> wrote:
> > When I read the docs for System.Mem.Weak, it all seems to make sense. But
> > then this code doesn't run as I expect it to when I turn on
> > -threaded: http://hpaste.org/63832 (Expected/actual output are listed
> in the
> > paste.)
> >
> > I've tried this on 7.4.1 and 7.0.4 with the same results. Can someone
> > enlighten me?
> >
> > Cheers,
> > Mike Craig
> >
> >
> > _______________________________________________
> > Glasgow-haskell-users mailing list
> > Glasgow-haskell-users at haskell.org
> > http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
> >
>
>
>
> --
> Regards,
> Austin
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/glasgow-haskell-users/attachments/20120216/9b4e7c8a/attachment.htm>


More information about the Glasgow-haskell-users mailing list