Hi,
I have a little HelloWorldAwt.C sample, which crashes on Linux when
compiled and linked as C++ code (using g++).
HelloWorldAwt.C invokes via JNI a litle Java popup.
When disabling the JIT it works fine.
But:
---
Compiled and linked as C (using cc) it runs fine (with or without JIT)
The problem seems somehow related to the different way C and C++ is
linked.
My environment is:
------------
intel Linux 2.2.5 , glibc 2.0x
gcc version gcc-2.95 19990602 (prerelease)
I will provide an example if desired.
thanks, Marcel
------------ Output when crashing ---------------
[Dynamic-linking native method java/lang/System.mapLibraryName ... JNI]
[Loaded java.lang.ClassLoader$3 from
/usr/local/jdk1.2Pre2/jre/lib/rt.jar]
[Loaded java.lang.Boolean from /usr/local/jdk1.2Pre2/jre/lib/rt.jar]
[Loaded java.lang.ClassLoader$NativeLibrary from
/usr/local/jdk1.2Pre2/jre/lib/rt.jar]
[Dynamic-linking native method java/lang/ClassLoader$NativeLibrary.load
... JNI]
[Loaded native library:
/usr/local/jdk1.2Pre2/jre/lib/i386/libsunwjit.so]
[Dynamic-linking native method java/lang/ClassLoader$NativeLibrary.find
... JNI]
[Loaded java.lang.NullPointerException from
/usr/local/jdk1.2Pre2/jre/lib/rt.jar]
SIGSEGV 11* segmentation violation
stackpointer=0xbfffe618
Full thread dump Classic VM (Linux_JDK_1.2_pre-release-v2, native
threads):
"Finalizer" (TID:0x404dc320, sys_thread_t:0x80cacc8, state:CW,
native ID:0xc03) prio=8
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:112)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
at
java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:174)
"Reference Handler" (TID:0x404dc3b0, sys_thread_t:0x80c63e0,
state:CW, native ID:0x802) prio=10
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:424)
at
java.lang.ref.Reference$ReferenceHandler.run(Reference.java:114)
"SIGQUIT handler" (TID:0x404dc3e0, sys_thread_t:0x80bee68, state:R,
native ID:0x401) prio=5
"main" (TID:0x404dc1e0, sys_thread_t:0x804a8b0, state:R, native
ID:0x400) prio=5
at java.lang.String.valueOf(Compiled Code)
at java.lang.Compiler.<clinit>(Compiler.java:68)
Monitor Cache Dump:
java.lang.ref.ReferenceQueue$Lock@404DC338/40512028: <unowned>
Waiting to be notified:
"Finalizer" (0x80cacc8)
<unknown key> (0x404dc131): owner "main" (0x804a8b0) 1 entry
java.lang.ref.Reference$Lock@404DC3C0/40511B20: <unowned>
Waiting to be notified:
"Reference Handler" (0x80c63e0)
Registered Monitor Dump:
PCMap lock: <unowned>
utf8 hash table: <unowned>
JNI pinning lock: <unowned>
JNI global reference lock: <unowned>
BinClass lock: <unowned>
Class linking lock: <unowned>
System class loader lock: <unowned>
Code rewrite lock: <unowned>
Heap lock: <unowned>
Monitor cache lock: owner "main" (0x804a8b0) 1 entry
Thread queue lock: owner "main" (0x804a8b0) 1 entry
Dynamic loading lock: <unowned>
Monitor registry: owner "main" (0x804a8b0) 1 entry
----------------------------------------------------------------------
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]