jzmq
jzmq copied to clipboard
Odd error when trying to get the EAGAIN constant
With the most recent version, we get the following error (on Android):
E/AndroidRuntime( 1628): java.lang.ExceptionInInitializerError
E/AndroidRuntime( 1628): at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
E/AndroidRuntime( 1628): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 1628): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime( 1628): at android.os.HandlerThread.run(HandlerThread.java:60)
E/AndroidRuntime( 1628): Caused by: java.lang.UnsatisfiedLinkError: Native method not found: org.zeromq.ZMQ.EAGAIN:()J
E/AndroidRuntime( 1628): at org.zeromq.ZMQ.EAGAIN(Native Method)
E/AndroidRuntime( 1628): at org.zeromq.ZMQ$Error.<clinit>(ZMQ.java:400)
E/AndroidRuntime( 1628): ... 5 more
On the logs:
V/dalvikvm( 1628): +++ scanning '/system/lib/libjzmq.so' for 'ENOTSOCK'
V/dalvikvm( 1628): +++ calling dlsym(Java_org_zeromq_ZMQ_ENOTSOCK)
V/dalvikvm( 1628): Found 'Java_org_zeromq_ZMQ_ENOTSOCK' with dlsym
V/dalvikvm( 1628): +++ not scanning '/system/lib/libwebcore.so' for 'EAGAIN' (wrong CL)
V/dalvikvm( 1628): +++ not scanning 'libnativehelper.so' for 'EAGAIN' (wrong CL)
V/dalvikvm( 1628): +++ not scanning 'libjavacore.so' for 'EAGAIN' (wrong CL)
V/dalvikvm( 1628): +++ not scanning '/system/lib/libmedia_jni.so' for 'EAGAIN' (wrong CL)
V/dalvikvm( 1628): +++ not scanning '/system/lib/librs_jni.so' for 'EAGAIN' (wrong CL)
V/dalvikvm( 1628): +++ not scanning '/system/lib/libdrmframework_jni.so' for 'EAGAIN' (wrong CL)
V/dalvikvm( 1628): +++ not scanning '/system/lib/libchromium_net.so' for 'EAGAIN' (wrong CL)
V/dalvikvm( 1628): +++ scanning '/system/lib/libjzmq.so' for 'EAGAIN'
V/dalvikvm( 1628): +++ calling dlsym(Java_org_zeromq_ZMQ_EAGAIN)
V/dalvikvm( 1628): +++ calling dlsym(Java_org_zeromq_ZMQ_EAGAIN__)
V/dalvikvm( 1628): dvm_dlsym() returns 0x0 on Java_org_zeromq_ZMQ_EAGAIN__ with handle 0xb770a368
V/dalvikvm( 1628): +++ scanning '/system/lib/libandyprop.so' for 'EAGAIN'
V/dalvikvm( 1628): +++ calling dlsym(Java_org_zeromq_ZMQ_EAGAIN)
V/dalvikvm( 1628): +++ calling dlsym(Java_org_zeromq_ZMQ_EAGAIN__)
V/dalvikvm( 1628): dvm_dlsym() returns 0x0 on Java_org_zeromq_ZMQ_EAGAIN__ with handle 0xb770a484
W/dalvikvm( 1628): No implementation found for native Lorg/zeromq/ZMQ;.EAGAIN:()J
I can confirm that the symbol is inside the binary. I can also confirm that other constants (ENOTSOCK in particular) are loading just fine.