fix: Fix Frame Processor null-dereference error (use ref-counted JNI local_ref
)
#351
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What
With #350 it looks like a null-pointer has been tried to access. This happens randomly, after maybe 5 mins or so.
My gut feeling tells me that this is the Java garbage collector running exactly at the point where a frame processor is being invoked, and since we only pass the frame, the parameters and the return values as
alias_ref
(non-ref counted pointers), Java thinks it can delete those values. Now I tried using a thread specific ref-counted pointer (local_ref
) and it seems like everything is working - need feedback from #350's OP first though.Changes
Tested on
Related issues