You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm hitting a null pointer crash in Avian, somewhere in the guts of handling an invokedynamic instruction. This is with avian in "compile mode". It doesn't matter if Avian is compiled with the JDK image/source or with Avian's classpath.
This was compiled and run on x64 Ubuntu 16.04.5 LTS and another Linux-based ARM platform.
From that we can see that dynamicTable was set by the rest of the code in addDynamic for the t->m->processor, but this doesn't appear to have been copied over to the t->dynamicTable field? I think it might be a simple case of a missing call to updateDynamicTable(t, t); or something like that?? That might be understating the problem, however.
That app is the smallest I can make it, though smaller examples might exist. Changing practically anything in this example app makes the problem disappear. (Infact using that information I've managed to make my original app not crash by working around the issue and accessing a class earlier than it normally would. This seems to "fix" the problem for me, though the underlying issue is obviously still present.)
The text was updated successfully, but these errors were encountered:
I'm hitting a null pointer crash in Avian, somewhere in the guts of handling an
invokedynamic
instruction. This is with avian in "compile mode". It doesn't matter if Avian is compiled with the JDK image/source or with Avian's classpath.This was compiled and run on x64 Ubuntu 16.04.5 LTS and another Linux-based ARM platform.
The crash details from debugger:
CLICK ME: Backtrace from lldb
Probing some variables a bit further:
CLICK ME: print of the Thread variable in debugger
.
From that we can see that
dynamicTable
was set by the rest of the code inaddDynamic
for thet->m->processor
, but this doesn't appear to have been copied over to thet->dynamicTable
field? I think it might be a simple case of a missing call toupdateDynamicTable(t, t);
or something like that?? That might be understating the problem, however.Example application that results in this crash: https://github.com/Poddster/avian_null_dynamicTable
That app is the smallest I can make it, though smaller examples might exist. Changing practically anything in this example app makes the problem disappear. (Infact using that information I've managed to make my original app not crash by working around the issue and accessing a class earlier than it normally would. This seems to "fix" the problem for me, though the underlying issue is obviously still present.)
The text was updated successfully, but these errors were encountered: