[llvm-dev] JIT and atexit crash
Alex Denisov via llvm-dev
llvm-dev at lists.llvm.org
Tue Nov 21 02:13:05 PST 2017
> It's not the job of the Orc engine.
I could argue about this, but I won’t :)
> Just don't use atexit.
The problem is that I run third-party programs. I cannot control them.
> On 20. Nov 2017, at 01:04, Joerg Sonnenberger via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> On Mon, Nov 20, 2017 at 12:22:49AM +0100, Alex Denisov via llvm-dev wrote:
>> JIT allocates and maps some memory for the execution. Some function X at address 0xdeadbeef is part of this memory.
>> JIT calls a code that passes the X to atexit.
>> JIT deallocates and unmaps the memory used for execution (either via objectLayer.removeObjectSet or by calling JIT's destructors)
>> atexit (cxa_finalize_ranges) calls the X at 0xdeadbeef which does not belong to 'us' anymore, which leads to the crash.
>
> Sounds plausible.
>
>> Given that my assumption is correct what can we do about this? Is there
>> anything that can be done to cover this case inside of the Orc engine?
>
> It's not the job of the Orc engine. Just don't use atexit.
>
> Joerg
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 529 bytes
Desc: Message signed with OpenPGP
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20171121/b7fef120/attachment.sig>
More information about the llvm-dev
mailing list