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]

Reply via email to