[BRLTTY] BRLTTY Java bindings -- UnsatisfiedLinkError

Simon Meers drmeers at gmail.com
Wed May 27 00:57:46 EDT 2009


Unfortunately the Firefox extension seems to use Sun rather than gcj, so
I'll need to get the native code to play ball with Sun :(
According to my debugging so far, it is not GET_ID that has the problem; the
crash occurs at this line:

  (*jenv)->SetLongField(jenv, jcls, handleID, (jlong) (intptr_t) handle);
>

in the native openConnection method, which would better explain the error
description:

FATAL ERROR in native method: Instance field not found in JNI get/set field
> operations
>

I've never touched JNI before, so if anyone has any insight please let me
know before I waste too much time on it...



2009/5/26 Mario Lang <mlang at delysid.org>

>
> I at least found where it crashes, and how to tell jvm to be a bit
> more verbose about the error.  In C terms, it crashes during
> the GET_ID macro, in the line
>
>  if (!((id) = (*(jenv))->GetFieldID((jenv), (class), (field), (sig)))) {\
>
> If you invoke java with -Xcheck:jni, suddenly the JVM is a lot
> more friendly about the actual error:
>
> fzidpc73:/tmp# java -Xcheck:jni -Djava.library.path=/usr/lib/jni -classpath
> .:/usr/share/java/brlapi.jar test
> FATAL ERROR in native method: Instance field not found in JNI get/set field
> operations
>         at org.a11y.BrlAPI.Native.openConnection(Native Method)
>        at org.a11y.BrlAPI.Brlapi.<init>(Brlapi.java:28)
>        at test.main(test.java:5)
> Aborted
>
> However, this error now seems to happen in openConnection, not
> getDriverName.  Something with GET_ID is very broken, but
> I am not familiar enough with JNI programming to spot the error.
>
> Maybe someone else could take a look?  Who wrote this code?
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mielke.cc/pipermail/brltty/attachments/20090527/26a1a0f0/attachment.html 


More information about the BRLTTY mailing list