JNI calls in critical sections

Johan Vos johan at lodgon.com
Tue Apr 14 07:10:58 UTC 2015


While investigating apparently random crashes on JavaFX mobile
(iOS/Android), I managed to pin one problem down to this:

When something goes wrong loading a JPEG, an error is generated, but
since (*env)->NewStringUTF() is used inside a critical block, this is not
allowed. On recent Android devices, this causes the application to crash.
On iOS, the thread dies.
I have no scientific evidence for this, but I've ran into cases before
where loading a corrupt image on Linux caused no images at all could be
loaded anymore -- but I'm not sure this is related to the same issue.

I see the fix version of RT-28705 is 9, but I'm wondering if the
consequences of this issue aren't bigger than they seem?

- Johan

More information about the openjfx-dev mailing list