Subject: bug#46256: [feature/native-comp] AOT eln files ignored if run from build tree

From: Pip Cet <[email-masked]>
Date: Sun, 7 Mar 2021 21:47:24 +0000

On Sun, Mar 7, 2021 at 9:27 PM Pip Cet <[email-masked]> wrote:
> What I'm thinking is the CU got GC'ed, which is perfectly okay, but we
> never set its COMP_UNIT_SYM pointer to Qnil. Then we dlopen() the same
> file again, get the old handle, read the stale COMP_UNIT_SYM pointer,
> and dereference it.
>
> We should verify that the CU is indeed a different PVEC type now
> (ideally, PVEC_FREE), and then do something like the attached patch,
> shouldn't we?

I can reproduce this issue by replacing the single call of dlopen() in
dynlib_open with two calls, and I have it open in a debugger if any
further information is required.

I'll prepare a proper patch next, but until then, can someone help me
out and explain why dynlib_close() returns 0 for success on Windows,
but 1 for success on POSIX systems?

Pip