Bug in GC's ordering of ForeignPtr finalization?
Antoine Latter
aslatter at gmail.com
Sun Aug 28 21:03:52 PDT 2011
On Sun, Aug 28, 2011 at 10:47 PM, Ben Gamari <bgamari.foss at gmail.com> wrote:
> On Sun, 28 Aug 2011 22:26:05 -0500, Antoine Latter <aslatter at gmail.com> wrote:
>> One problem you might be running in to is that the optimization passes
>> can notice that a function isn't using all of its arguments, and then
>> it won't pass them. These even applies if the arguments are bound
>> together in a record type.
>>
> In this case I wouldn't be able to reproduce the problem with
> optimization disabled, no? Unfortunately, this is not the case; the
> problem persists even with -O0.
>
Perhaps? I don't know the details about how the GC decides when
something is reachable. The scenario I described (which sounds similar
to yours?) is only safe in Haskell when using functions like
touchForeignPtr.
Antoine
More information about the notmuch
mailing list