[Kde-java] Installation Question

Marco Ladermann kde-java@kde.org
Sat, 8 Feb 2003 11:54:51 +0100


On Freitag, 7. Februar 2003 19:51, Gert-Jan van der Heiden wrote:
> I use JDK 1.3 (provided with SuSE 8.1) with the -classic option.
>
> That is the only combination that I got the KDEJava bindings working on
> SuSE 8.1

You're right. It works with the Sun JVM 1.3.1 and the classic option, but the 
Blackdown JVM 1.3.1 throws with the classic option:

kesrith@~/java(24) > java -classic -cp .:/opt/kde3/lib/java/qtjava.jar 
-Djava.library.path=/opt/kde3/lib ScribbleWindow

SIGSEGV   11*  segmentation violation
    si_signo [11]: SIGSEGV   11*  segmentation violation
    si_errno [0]: Erfolg
    si_code [1]: SEGV_MAPERR [addr: 0x41D]

        stackpointer=0xbfffb4fc

Full thread dump Classic VM (Blackdown-1.3.1-02b-FCS, native threads):
    "Finalizer" (TID:0x40eb9528, sys_thread_t:0x8099150, state:CW, native 
ID:0xc04) prio=8
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:108)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:123)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:162)
    "Reference Handler" (TID:0x40eb9300, sys_thread_t:0x80932a0, state:CW, 
native ID:0x803) prio=10
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:420)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:110)
    "Signal Dispatcher" (TID:0x40eb9330, sys_thread_t:0x8091250, state:CW, 
native ID:0x402) prio=5
    "main" (TID:0x40eb91b0, sys_thread_t:0x8054380, state:R, native ID:0x400) 
prio=5
        at org.kde.qt.QApplication.newQApplication(Native Method)
        at org.kde.qt.QApplication.<init>(QApplication.java:36)
        at ScribbleWindow.main(ScribbleWindow.java:289)
Monitor Cache Dump:
    java.lang.ref.ReferenceQueue$Lock@40EB9540/40EEF838: <unowned>
        Waiting to be notified:
            "Finalizer" (0x8099150)
    java.lang.ref.Reference$Lock@40EB9310/40EEF340: <unowned>
        Waiting to be notified:
            "Reference Handler" (0x80932a0)
Registered Monitor Dump:
    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" (0x8054380) 1 entry
    Thread queue lock: owner "main" (0x8054380) 1 entry
    Monitor registry: owner "main" (0x8054380) 1 entry


Just to repeat: The only way I got it running with every JVM (including 1.4.1) 
is to bind the lib against -lqt and NOT -lqt-mt. And frankly, I prefer to 
modify the jni-libraries instead of restricting the JVM.

So long,
Marco