| Trolltech Home | Qt-jambi-interest Home | Recent Threads | All Threads | Author | Date | |
| All threads index page 1 | |
Hi! I am getting a VM crash when trying to run the attached program that attempts to enforce the Plastique widget style on Linux. I've attached the sample program that reproduces the behaviour as well as the corresponding VM crash log. Regards, Gregor -- [ signature omitted ]
# # An unexpected error has been detected by Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00030003, pid=10438, tid=4158675856 # # Java VM: Java HotSpot(TM) Server VM (1.6.0-b105 mixed mode) # Problematic frame: # C 0x00030003 # # If you would like to submit a bug report, please visit: # http://java.sun.com/webapps/bugreport/crash.jsp # --------------- T H R E A D --------------- Current thread (0x0807c800): JavaThread "main" [_thread_in_native, id=10443] siginfo:si_signo=11, si_errno=0, si_code=1, si_addr=0x00030003 Registers: EAX=0xc002b000, EBX=0xbf41c224, ECX=0xc0064000, EDX=0x081923a8 ESP=0xf7e04dcc, EBP=0xf7e04de8, ESI=0x08192100, EDI=0x0807c8e8 EIP=0x00030003, CR2=0x00030003, EFLAGS=0x00010202 Top of Stack: (sp=0xf7e04dcc) 0xf7e04dcc: bf4090e9 081923a8 0807c8e8 081923a8 0xf7e04ddc: bf41c224 0807c8e8 083421a8 f7e04e08 0xf7e04dec: bf3ff435 08192100 0807c8e8 0818bfd4 0xf7e04dfc: 00000000 bf27d530 bfedd85c f7e04e48 0xf7e04e0c: bedd3558 0807c8e8 0818bfd4 f7fb9fbc 0xf7e04e1c: 081c1284 00000000 f7e04ed8 f7fa8823 0xf7e04e2c: bf69bdec 00000000 0818bfd4 f7e04f00 0xf7e04e3c: bfebfc58 bfedd85c bfedd86c f7e04f28 Instructions: (pc=0x00030003) 0x0002fff3: [error occurred during error reporting, step 100, id 0xb] Stack: [0xf7db5000,0xf7e06000), sp=0xf7e04dcc, free space=319k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C 0x00030003 C [libqtjambi.so.1.0.0+0x14435] _Z25qtjambi_invalidate_objectP7JNIEnv_P8_jobject+0x35 C [libcom_trolltech_qt_gui.so.1.0.0+0x3a3558] _ZN28QtJambiShell_QPlastiqueStyle6polishER8QPalette+0xc8 C [libQtGui.so.4+0x1ab18f] _ZN19QApplicationPrivate17setPalette_helperERK8QPalettePKcb+0x5f C [libQtGui.so.4+0x1aa967] _ZN12QApplication8setStyleEP6QStyle+0x197 C [libcom_trolltech_qt_gui.so.1.0.0+0x62b940] Java_com_trolltech_qt_gui_QApplication__1_1qt_1setStyle_1QStyle__J+0x30 j com.trolltech.qt.gui.QApplication.__qt_setStyle_QStyle(J)V+0 j com.trolltech.qt.gui.QApplication.setStyle(Lcom/trolltech/qt/gui/QStyle;)V+12 j com.trolltech.tests.PlastiqueStyleTest.main([Ljava/lang/String;)V+19 v ~StubRoutines::call_stub V [libjvm.so+0x2b521d] V [libjvm.so+0x43d9a8] V [libjvm.so+0x2b50b0] V [libjvm.so+0x2de4b6] V [libjvm.so+0x2cfb5b] C [java+0x1b98] JavaMain+0x2c8 C [libpthread.so.0+0x54ab] Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j com.trolltech.qt.gui.QApplication.__qt_setStyle_QStyle(J)V+0 j com.trolltech.qt.gui.QApplication.setStyle(Lcom/trolltech/qt/gui/QStyle;)V+12 j com.trolltech.tests.PlastiqueStyleTest.main([Ljava/lang/String;)V+19 v ~StubRoutines::call_stub --------------- P R O C E S S --------------- Java Threads: ( => current thread ) 0x081d6000 JavaThread "Thread-0" daemon [_thread_blocked, id=10469] 0x0816e800 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=10464] 0x0816d000 JavaThread "CompilerThread1" daemon [_thread_blocked, id=10463] 0x0816bc00 JavaThread "CompilerThread0" daemon [_thread_blocked, id=10462] 0x0815ec00 JavaThread "JDWP Command Reader" daemon [_thread_in_native, id=10459] 0x0815d800 JavaThread "JDWP Event Helper Thread" daemon [_thread_blocked, id=10456] 0x0815b400 JavaThread "JDWP Transport Listener: dt_socket" daemon [_thread_blocked, id=10455] 0x08154000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=10453] 0x08141800 JavaThread "Finalizer" daemon [_thread_blocked, id=10451] 0x08141000 JavaThread "Reference Handler" daemon [_thread_blocked, id=10450] =>0x0807c800 JavaThread "main" [_thread_in_native, id=10443] Other Threads: 0x0813e400 VMThread [id=10448] 0x08170000 WatcherThread [id=10465] VM state:not at safepoint (normal execution) VM Mutex/Monitor currently owned by a thread: None Heap PSYoungGen total 3584K, used 368K [0xef6f0000, 0xefaf0000, 0xf4c40000) eden space 3072K, 4% used [0xef6f0000,0xef70fc28,0xef9f0000) from space 512K, 47% used [0xef9f0000,0xefa2c618,0xefa70000) to space 512K, 0% used [0xefa70000,0xefa70000,0xefaf0000) PSOldGen total 4096K, used 0K [0xc4c40000, 0xc5040000, 0xef6f0000) object space 4096K, 0% used [0xc4c40000,0xc4c40000,0xc5040000) PSPermGen total 16384K, used 3611K [0xc0c40000, 0xc1c40000, 0xc4c40000) object space 16384K, 22% used [0xc0c40000,0xc0fc6d60,0xc1c40000) Dynamic libraries: 06000000-0657e000 r-xp 00000000 03:02 640392 /opt/emul-linux-x86-java-1.6.0/lib/i386/server/libjvm.so 0657e000-065b5000 rwxp 0057e000 03:02 640392 /opt/emul-linux-x86-java-1.6.0/lib/i386/server/libjvm.so 065b5000-069d5000 rwxp 065b5000 00:00 0 08048000-08052000 r-xp 00000000 03:02 640365 /opt/emul-linux-x86-java-1.6.0/bin/java 08052000-08053000 rwxp 00009000 03:02 640365 /opt/emul-linux-x86-java-1.6.0/bin/java 08053000-08362000 rwxp 08053000 00:00 0 [heap] be9e7000-be9ed000 r-xs 00000000 03:04 13813073 /data/home/gregor/.fontconfig/87f5e051180a7a75f16eb6fe7dbd3749-x86.cache-2 be9ed000-be9ef000 r-xs 00000000 03:04 13813083 /data/home/gregor/.fontconfig/76fa4b957c916922374347f144bde9da-x86.cache-2 be9ef000-be9fd000 r-xs 00000000 03:04 13813100 /data/home/gregor/.fontconfig/8d4af663993b81a124ee82e610bb31f9-x86.cache-2 be9fd000-be9ff000 r-xs 00000000 03:04 13813145 /data/home/gregor/.fontconfig/9080285a363f2ec8b505181342116a40-x86.cache-2 be9ff000-bea0b000 r-xs 00000000 03:04 13813113 /data/home/gregor/.fontconfig/4b5cf4386f1cde02a336ba961b4ac82d-x86.cache-2 bea0b000-bea0e000 r-xs 00000000 03:04 13813104 /data/home/gregor/.fontconfig/d62e99ef547d1d24cdb1bd22ec1a2976-x86.cache-2 bea0e000-bea30000 r-xs 00000000 03:04 13813114 /data/home/gregor/.fontconfig/17090aa38d5c6f09fb8c5c354938f1d7-x86.cache-2 bea30000-bf27b000 r-xp 00000000 03:04 12140776 /data/home/gregor/software/qtjambi-gpl-linux-1.0.0-beta2/lib/libcom_trolltech_qt_gui.so.1.0.0 bf27b000-bf2a4000 rwxp 0084a000 03:04 12140776 /data/home/gregor/software/qtjambi-gpl-linux-1.0.0-beta2/lib/libcom_trolltech_qt_gui.so.1.0.0 bf2a4000-bf2a7000 ---p bf2a4000 00:00 0 bf2a7000-bf2f5000 rwxp bf2a7000 00:00 0 bf2f5000-bf3e6000 r-xp 00000000 03:04 12140772 /data/home/gregor/software/qtjambi-gpl-linux-1.0.0-beta2/lib/libcom_trolltech_qt_core.so.1.0.0 bf3e6000-bf3eb000 rwxp 000f0000 03:04 12140772 /data/home/gregor/software/qtjambi-gpl-linux-1.0.0-beta2/lib/libcom_trolltech_qt_core.so.1.0.0 bf3eb000-bf41c000 r-xp 00000000 03:04 12140768 /data/home/gregor/software/qtjambi-gpl-linux-1.0.0-beta2/lib/libqtjambi.so.1.0.0 bf41c000-bf41d000 rwxp 00031000 03:04 12140768 /data/home/gregor/software/qtjambi-gpl-linux-1.0.0-beta2/lib/libqtjambi.so.1.0.0 bf41d000-bf421000 r-xp 00000000 03:02 475569 /usr/lib32/libXdmcp.so.6.0.0 bf421000-bf422000 rwxp 00003000 03:02 475569 /usr/lib32/libXdmcp.so.6.0.0 bf422000-bf424000 r-xp 00000000 03:02 475548 /usr/lib32/libXau.so.6.0.0 bf424000-bf425000 rwxp 00001000 03:02 475548 /usr/lib32/libXau.so.6.0.0 bf425000-bf442000 r-xp 00000000 03:02 672112 /usr/lib32/libexpat.so.0.5.0 bf442000-bf444000 rwxp 0001d000 03:02 672112 /usr/lib32/libexpat.so.0.5.0 bf444000-bf448000 r-xp 00000000 03:02 475575 /usr/lib32/libXfixes.so.3.1.0 bf448000-bf449000 rwxp 00003000 03:02 475575 /usr/lib32/libXfixes.so.3.1.0 bf449000-bf530000 r-xp 00000000 03:02 475545 /usr/lib32/libX11.so.6.2.0 bf530000-bf534000 rwxp 000e7000 03:02 475545 /usr/lib32/libX11.so.6.2.0 bf534000-bf541000 r-xp 00000000 03:02 475572 /usr/lib32/libXext.so.6.4.0 bf541000-bf542000 rwxp 0000c000 03:02 475572 /usr/lib32/libXext.so.6.4.0 bf542000-bf564000 r-xp 00000000 03:02 475497 /usr/lib32/libfontconfig.so.1.2.0 bf564000-bf56c000 rwxp 00022000 03:02 475497 /usr/lib32/libfontconfig.so.1.2.0 bf56c000-bf5ce000 r-xp 00000000 03:02 475501 /usr/lib32/libfreetype.so.6.3.8 bf5ce000-bf5d1000 rwxp 00062000 03:02 475501 /usr/lib32/libfreetype.so.6.3.8 bf5d1000-bf5d3000 r-xp 00000000 03:02 475584 /usr/lib32/libXinerama.so.1.0.0 bf5d3000-bf5d4000 rwxp 00001000 03:02 475584 /usr/lib32/libXinerama.so.1.0.0 bf5d4000-bf5dc000 r-xp 00000000 03:02 475563 /usr/lib32/libXcursor.so.1.0.2 bf5dc000-bf5dd000 rwxp 00007000 03:02 475563 /usr/lib32/libXcursor.so.1.0.2 bf5dd000-bf5e0000 r-xp 00000000 03:02 475599 /usr/lib32/libXrandr.so.2.0.0 bf5e0000-bf5e1000 rwxp 00002000 03:02 475599 /usr/lib32/libXrandr.so.2.0.0 bf5e1000-bf5e8000 r-xp 00000000 03:02 475602 /usr/lib32/libXrender.so.1.3.0 bf5e8000-bf5e9000 rwxp 00006000 03:02 475602 /usr/lib32/libXrender.so.1.3.0 bf5e9000-bf5f0000 r-xp 00000000 03:02 475581 /usr/lib32/libXi.so.6.0.0 bf5f0000-bf5f1000 rwxp 00006000 03:02 475581 /usr/lib32/libXi.so.6.0.0 bf5f1000-bf605000 r-xp 00000000 03:02 475534 /usr/lib32/libICE.so.6.3.0 bf605000-bf606000 rwxp 00014000 03:02 475534 /usr/lib32/libICE.so.6.3.0 bf606000-bf608000 rwxp bf606000 00:00 0 bf608000-bf610000 r-xp 00000000 03:02 475542 /usr/lib32/libSM.so.6.0.0 bf610000-bf611000 rwxp 00007000 03:02 475542 /usr/lib32/libSM.so.6.0.0 bf611000-bf633000 r-xp 00000000 03:02 672172 /usr/lib32/libpng12.so.0.15.0 bf633000-bf634000 rwxp 00021000 03:02 672172 /usr/lib32/libpng12.so.0.15.0 bf634000-bfeb8000 r-xp 00000000 03:04 12140805 /data/home/gregor/software/qtjambi-gpl-linux-1.0.0-beta2/lib/libQtGui.so.4 bfeb8000-bfede000 rwxp 00883000 03:04 12140805 /data/home/gregor/software/qtjambi-gpl-linux-1.0.0-beta2/lib/libQtGui.so.4 bfede000-bfedf000 rwxp bfede000 00:00 0 bfedf000-bff8f000 r-xp 00000000 03:04 12140815 /data/home/gregor/software/qtjambi-gpl-linux-1.0.0-beta2/lib/libstdc++.so.5 bff8f000-bff94000 rwxp 000af000 03:04 12140815 /data/home/gregor/software/qtjambi-gpl-linux-1.0.0-beta2/lib/libstdc++.so.5 bff94000-bff99000 rwxp bff94000 00:00 0 bff99000-c002a000 r-xp 00000000 03:02 672142 /usr/lib32/libglib-2.0.so.0.1200.7 c002a000-c002b000 rwxp 00090000 03:02 672142 /usr/lib32/libglib-2.0.so.0.1200.7 c002b000-c003c000 r-xp 00000000 03:02 573933 /lib32/libz.so.1.2.3 c003c000-c003d000 rwxp 00010000 03:02 573933 /lib32/libz.so.1.2.3 c003e000-c0060000 r-xs 00000000 03:04 13813116 /data/home/gregor/.fontconfig/df311e82a1a24c41a75c2c930223552e-x86.cache-2 c0060000-c0062000 r-xp 00000000 03:02 819839 /usr/lib32/gconv/UTF-16.so c0062000-c0064000 rwxp 00001000 03:02 819839 /usr/lib32/gconv/UTF-16.so c0064000-c021a000 r-xp 00000000 03:04 12140804 /data/home/gregor/software/qtjambi-gpl-linux-1.0.0-beta2/lib/libQtCore.so.4 c021a000-c0222000 rwxp 001b5000 03:04 12140804 /data/home/gregor/software/qtjambi-gpl-linux-1.0.0-beta2/lib/libQtCore.so.4 c0222000-c023e000 r-xs 001cc000 03:04 2462626 /data/home/gregor/software/qtjambi-gpl-linux-1.0.0-beta2/qtjambi.jar c023e000-c023f000 ---p c023e000 00:00 0 c023f000-c02bf000 rwxp c023f000 00:00 0 c02bf000-c02c2000 ---p c02bf000 00:00 0 c02c2000-c0310000 rwxp c02c2000 00:00 0 c0310000-c0313000 ---p c0310000 00:00 0 c0313000-c0391000 rwxp c0313000 00:00 0 c0391000-c0394000 ---p c0391000 00:00 0 c0394000-c0412000 rwxp c0394000 00:00 0 c0412000-c0415000 ---p c0412000 00:00 0 c0415000-c0463000 rwxp c0415000 00:00 0 c0463000-c0466000 ---p c0463000 00:00 0 c0466000-c04b4000 rwxp c0466000 00:00 0 c04b4000-c04b7000 ---p c04b4000 00:00 0 c04b7000-c0505000 rwxp c04b7000 00:00 0 c0505000-c0508000 r-xp 00000000 03:02 640435 /opt/emul-linux-x86-java-1.6.0/lib/i386/libdt_socket.so c0508000-c0509000 rwxp 00003000 03:02 640435 /opt/emul-linux-x86-java-1.6.0/lib/i386/libdt_socket.so c0509000-c050c000 ---p c0509000 00:00 0 c050c000-c055a000 rwxp c050c000 00:00 0 c055a000-c055d000 ---p c055a000 00:00 0 c055d000-c05ab000 rwxp c055d000 00:00 0 c05ab000-c05ae000 ---p c05ab000 00:00 0 c05ae000-c05fc000 rwxp c05ae000 00:00 0 c05fc000-c05fd000 ---p c05fc000 00:00 0 c05fd000-c06ad000 rwxp c05fd000 00:00 0 c06ad000-c0827000 r-xs 02c68000 03:02 640474 /opt/emul-linux-x86-java-1.6.0/lib/rt.jar c0827000-c0828000 ---p c0827000 00:00 0 c0828000-c08a8000 rwxp c0828000 00:00 0 c08a8000-c08a9000 ---p c08a8000 00:00 0 c08a9000-c0931000 rwxp c08a9000 00:00 0 c0931000-c0949000 rwxp c0931000 00:00 0 c0949000-c094b000 rwxp c0949000 00:00 0 c094b000-c0a9f000 rwxp c094b000 00:00 0 c0a9f000-c0aa7000 rwxp c0a9f000 00:00 0 c0aa7000-c0abf000 rwxp c0aa7000 00:00 0 c0abf000-c0ac1000 rwxp c0abf000 00:00 0 c0ac1000-c0c14000 rwxp c0ac1000 00:00 0 c0c14000-c0c17000 rwxp c0c14000 00:00 0 c0c17000-c0c3f000 rwxp c0c17000 00:00 0 c0c3f000-c1c40000 rwxp c0c3f000 00:00 0 c1c40000-c4c40000 rwxp c1c40000 00:00 0 c4c40000-c5040000 rwxp c4c40000 00:00 0 c5040000-ef6f0000 rwxp c5040000 00:00 0 ef6f0000-efaf0000 rwxp ef6f0000 00:00 0 efaf0000-f4c40000 rwxp efaf0000 00:00 0 f4c40000-f4c49000 r-xp 00000000 03:02 4341856 /lib32/libgcc_s.so.1 f4c49000-f4c4a000 rwxp 00009000 03:02 4341856 /lib32/libgcc_s.so.1 f4c4a000-f4c53000 rwxp f4c4a000 00:00 0 f4c53000-f4d0a000 rwxp f4c53000 00:00 0 f4d0a000-f4f4a000 rwxp f4d0a000 00:00 0 f4f4a000-f7d0a000 rwxp f4f4a000 00:00 0 f7d0a000-f7d2d000 r-xp 00000000 03:02 640405 /opt/emul-linux-x86-java-1.6.0/lib/i386/libjava.so f7d2d000-f7d2f000 rwxp 00023000 03:02 640405 /opt/emul-linux-x86-java-1.6.0/lib/i386/libjava.so f7d2f000-f7d37000 r-xp 00000000 03:02 786485 /lib32/libnss_files-2.5.so f7d37000-f7d39000 rwxp 00007000 03:02 786485 /lib32/libnss_files-2.5.so f7d39000-f7d41000 r-xp 00000000 03:02 786498 /lib32/libnss_nis-2.5.so f7d41000-f7d43000 rwxp 00007000 03:02 786498 /lib32/libnss_nis-2.5.so f7d43000-f7d49000 r-xp 00000000 03:02 786499 /lib32/libnss_compat-2.5.so f7d49000-f7d4b000 rwxp 00005000 03:02 786499 /lib32/libnss_compat-2.5.so f7d4c000-f7d4d000 r-xs 00000000 03:04 13813146 /data/home/gregor/.fontconfig/3830d5c3ddfd5cd38a049b759396e72e-x86.cache-2 f7d4d000-f7d5c000 r-xp 00000000 03:02 640407 /opt/emul-linux-x86-java-1.6.0/lib/i386/libzip.so f7d5c000-f7d5e000 rwxp 0000e000 03:02 640407 /opt/emul-linux-x86-java-1.6.0/lib/i386/libzip.so f7d5e000-f7d69000 r-xp 00000000 03:02 640404 /opt/emul-linux-x86-java-1.6.0/lib/i386/libverify.so f7d69000-f7d6a000 rwxp 0000b000 03:02 640404 /opt/emul-linux-x86-java-1.6.0/lib/i386/libverify.so f7d6a000-f7d72000 rwxs 00000000 03:02 999430 /tmp/hsperfdata_gregor/10438 f7d72000-f7dab000 r-xp 00000000 03:02 640434 /opt/emul-linux-x86-java-1.6.0/lib/i386/libjdwp.so f7dab000-f7dac000 rwxp 00039000 03:02 640434 /opt/emul-linux-x86-java-1.6.0/lib/i386/libjdwp.so f7dac000-f7db3000 r-xp 00000000 03:02 786490 /lib32/librt-2.5.so f7db3000-f7db5000 rwxp 00006000 03:02 786490 /lib32/librt-2.5.so f7db5000-f7db8000 ---p f7db5000 00:00 0 f7db8000-f7e06000 rwxp f7db8000 00:00 0 f7e06000-f7e29000 r-xp 00000000 03:02 786505 /lib32/libm-2.5.so f7e29000-f7e2b000 rwxp 00022000 03:02 786505 /lib32/libm-2.5.so f7e2b000-f7e2c000 rwxp f7e2b000 00:00 0 f7e2c000-f7f4c000 r-xp 00000000 03:02 786504 /lib32/libc-2.5.so f7f4c000-f7f4d000 r-xp 00120000 03:02 786504 /lib32/libc-2.5.so f7f4d000-f7f4f000 rwxp 00121000 03:02 786504 /lib32/libc-2.5.so f7f4f000-f7f52000 rwxp f7f4f000 00:00 0 f7f52000-f7f54000 r-xp 00000000 03:02 786475 /lib32/libdl-2.5.so f7f54000-f7f56000 rwxp 00001000 03:02 786475 /lib32/libdl-2.5.so f7f56000-f7f57000 rwxp f7f56000 00:00 0 f7f57000-f7f5e000 r-xp 00000000 03:02 655369 /opt/emul-linux-x86-java-1.6.0/lib/i386/jli/libjli.so f7f5e000-f7f60000 rwxp 00006000 03:02 655369 /opt/emul-linux-x86-java-1.6.0/lib/i386/jli/libjli.so f7f60000-f7f73000 r-xp 00000000 03:02 786480 /lib32/libpthread-2.5.so f7f73000-f7f74000 r-xp 00012000 03:02 786480 /lib32/libpthread-2.5.so f7f74000-f7f75000 rwxp 00013000 03:02 786480 /lib32/libpthread-2.5.so f7f75000-f7f77000 rwxp f7f75000 00:00 0 f7f77000-f7f7a000 r-xp 00000000 03:02 672151 /usr/lib32/libgthread-2.0.so.0.1200.7 f7f7a000-f7f7b000 rwxp 00003000 03:02 672151 /usr/lib32/libgthread-2.0.so.0.1200.7 f7f7b000-f7f7e000 r-xp 00000000 03:02 640408 /opt/emul-linux-x86-java-1.6.0/lib/i386/libnpt.so f7f7e000-f7f7f000 rwxp 00002000 03:02 640408 /opt/emul-linux-x86-java-1.6.0/lib/i386/libnpt.so f7f7f000-f7f91000 r-xp 00000000 03:02 786497 /lib32/libnsl-2.5.so f7f91000-f7f93000 rwxp 00011000 03:02 786497 /lib32/libnsl-2.5.so f7f93000-f7f95000 rwxp f7f93000 00:00 0 f7f95000-f7f9b000 r-xp 00000000 03:02 640390 /opt/emul-linux-x86-java-1.6.0/lib/i386/native_threads/libhpi.so f7f9b000-f7f9c000 rwxp 00006000 03:02 640390 /opt/emul-linux-x86-java-1.6.0/lib/i386/native_threads/libhpi.so f7f9c000-f7f9d000 rwxp f7f9c000 00:00 0 f7f9d000-f7f9e000 r-xp f7f9d000 00:00 0 f7f9e000-f7f9f000 rwxp f7f9e000 00:00 0 f7f9f000-f7fb9000 r-xp 00000000 03:02 786481 /lib32/ld-2.5.so f7fb9000-f7fba000 r-xp 00019000 03:02 786481 /lib32/ld-2.5.so f7fba000-f7fbb000 rwxp 0001a000 03:02 786481 /lib32/ld-2.5.so fff66000-fff6f000 rwxp fff66000 00:00 0 [stack] ffffe000-fffff000 r-xp ffffe000 00:00 0 [vdso] VM Arguments: jvm_args: -Djava.library.path=/home/gregor/software/qtjambi-gpl-linux-1.0.0-beta2/lib -Xmx768m -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:48840 java_command: com.trolltech.tests.PlastiqueStyleTest Launcher Type: SUN_STANDARD Environment Variables: JAVA_HOME=/home/gregor/.gentoo/java-config-2/current-user-vm CLASSPATH=. PATH=/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.2:/usr/x86_64-pc-linux-gnu/i686-pc-linux-gnu/gcc-bin/4.1.2:/opt/blackdown-jdk-1.4.2.03/bin:/opt/blackdown-jdk-1.4.2.03/jre/bin:/usr/kde/3.5/bin:/usr/kde/3.5/bin:/usr/qt/3/bin:/usr/qt/3/bin:/usr/games/bin LD_LIBRARY_PATH=/opt/emul-linux-x86-java-1.6.0/lib/i386/server:/opt/emul-linux-x86-java-1.6.0/lib/i386:/opt/emul-linux-x86-java-1.6.0/../lib/i386:/opt/sun-jdk-1.6.0/jre/lib/amd64/server:/opt/sun-jdk-1.6.0/jre/lib/amd64:/opt/sun-jdk-1.6.0/jre/../lib/amd64:/usr/lib/mozilla-firefox SHELL=/bin/bash DISPLAY=:0 Signal Handlers: SIGSEGV: [libjvm.so+0x51cf50], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGBUS: [libjvm.so+0x51cf50], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGFPE: [libjvm.so+0x43d040], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGPIPE: [libjvm.so+0x43d040], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGILL: [libjvm.so+0x43d040], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 SIGUSR2: [libjvm.so+0x43f050], sa_mask[0]=0x00000004, sa_flags=0x10000004 SIGHUP: [libjvm.so+0x43ea70], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGINT: [libjvm.so+0x43ea70], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGQUIT: [libjvm.so+0x43ea70], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGTERM: [libjvm.so+0x43ea70], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGUSR2: [libjvm.so+0x43f050], sa_mask[0]=0x00000004, sa_flags=0x10000004 --------------- S Y S T E M --------------- OS:Gentoo Base System release 1.12.10 uname:Linux 2.6.20.1 #1 SMP Fri Mar 9 01:51:01 CET 2007 x86_64 libc:glibc 2.5 NPTL 2.5 rlimit: STACK 8192k, CORE 0k, NPROC 16382, NOFILE 1024, AS infinity load average:4.14 4.18 3.55 CPU:total 2 family 15, cmov, cx8, fxsr, mmx, sse, sse2, mmxext, 3dnowext, 3dnow, ht Memory: 4k page, physical 2060868k(168548k free), swap 5116692k(5099292k free) vm_info: Java HotSpot(TM) Server VM (1.6.0-b105) for linux-x86, built on Nov 29 2006 01:11:40 by "java_re" with gcc 3.2.1-7a (J2SE release)
/****************************************************************************
/****************************************************************************
**
** Copyright (C) 1992-$THISYEAR$ $TROLLTECH$. All rights reserved.
**
** This file is part of $PRODUCT$.
**
** $JAVA_LICENSE$
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
****************************************************************************/
package com.trolltech.tests;
import com.trolltech.qt.gui.*;
import com.trolltech.qt.core.*;
public class PlastiqueStyleTest {
public static void main(String args[]) {
QApplication.initialize(args);
QWidget widget = new QWidget() {
};
QApplication.setStyle(new QPlastiqueStyle());
widget.show();
QApplication.exec();
}
}
Attachment:
Attachment:
signature.asc
Attachment:
signature.asc
Description: This is a digitally signed message part.
Message 2 in thread
Gregor Mückl wrote:
>I am getting a VM crash when trying to run the attached program that attempts
>to enforce the Plastique widget style on Linux. I've attached the sample
>program that reproduces the behaviour as well as the corresponding VM crash
>log.
>
>
Hi, Gregor.
I think I've spotted the bug. Could you try overriding the
polish(QPalette) method in plastique style to see if that fixes the
problem? Something like this:
QApplication.setStyle(new QPlastiqueStyle() { public void
polish(QPalette palette) { super.polish(palette); } });
I think that may be a workaround for the bug.
-- Eskil
Message 3 in thread
Eskil Abrahamsen Blomfeldt skrev:
> Gregor Mückl wrote:
>
>> I am getting a VM crash when trying to run the attached program that
>> attempts to enforce the Plastique widget style on Linux. I've
>> attached the sample program that reproduces the behaviour as well as
>> the corresponding VM crash log.
>>
>>
>
> I think I've spotted the bug. Could you try overriding the
> polish(QPalette) method in plastique style to see if that fixes the
> problem? Something like this:
>
> QApplication.setStyle(new QPlastiqueStyle() { public void
> polish(QPalette palette) { super.polish(palette); } });
>
> I think that may be a workaround for the bug.
>
>
Hi again, Gregor.
I did some testing, and it turns out my proposed workaround does not fix
the problem.
Workarounds that may actually be helpful are:
1. If you want to set a default style (such as Plastique), you can
create the style object using QStyleFactory. Then you will not hit the
bug. Like this:
QApplication.setStyle(QStyleFactory.create("plastique"));
2. You can explicitly set the style on all your widgets (a little bit
extra work, see my attached example to see how)
A third option is to get a source patch from us and build Qt Jambi
yourself. Let me know if you need this.
-- Eskil
import com.trolltech.qt.gui.*;
import com.trolltech.qt.gui.*;
import com.trolltech.qt.core.*;
import java.util.*;
public class Test extends QWidget
{
public Test() {
QLabel label = new QLabel("Label");
QPushButton button = new QPushButton();
button.setText("Button");
QLineEdit lineEdit = new QLineEdit();
lineEdit.setText("LineEdit");
QHBoxLayout layout = new QHBoxLayout(this);
layout.addWidget(label);
layout.addWidget(button);
layout.addWidget(lineEdit);
}
private static void updateStyle(QWidget widget, QStyle style)
{
widget.setStyle(style);
List<QObject> children = widget.children();
for (QObject o : children)
if (o instanceof QWidget)
updateStyle((QWidget) o, style);
}
public static void main(String args[])
{
QApplication.initialize(args);
Test test = new Test();
test.show();
updateStyle(test, new QPlastiqueStyle());
QApplication.exec();
}
}
Message 4 in thread
On Friday 27 April 2007, Eskil Abrahamsen Blomfeldt wrote:
> Hi again, Gregor.
>
> I did some testing, and it turns out my proposed workaround does not fix
> the problem.
>
> Workarounds that may actually be helpful are:
>
> 1. If you want to set a default style (such as Plastique), you can
> create the style object using QStyleFactory. Then you will not hit the
> bug. Like this:
> QApplication.setStyle(QStyleFactory.create("plastique"));
>
> 2. You can explicitly set the style on all your widgets (a little bit
> extra work, see my attached example to see how)
>
> A third option is to get a source patch from us and build Qt Jambi
> yourself. Let me know if you need this.
>
> -- Eskil
Hi, Eskil!
Suggestion number 1 works beautifully for me so far. Thank you very much!
Just one more question: is it actually allowed to create styles without using
the styles factory? Being able to do it with and without the use of the
factory puzzles me a bit.
Regards,
Gregor
--
[ signature omitted ]
Description: This is a digitally signed message part.
Message 5 in thread
Gregor Mückl skrev:
> Suggestion number 1 works beautifully for me so far. Thank you very much!
>
> Just one more question: is it actually allowed to create styles without using
> the styles factory? Being able to do it with and without the use of the
> factory puzzles me a bit.
>
Hi, Gregor. Good to hear that the suggestion works for you :-)
It is possible to add styles to a Qt or Qt Jambi application as native
plugins (written in C++). These will be resolved on startup and you will
not have any actual class definition available to instantiate. Such
styles can only be instantiated using QStyleFactory.
Styles that are built into the libraries, however (such as Plastique and
other default Qt Jambi styles) can be accessed using both QStyleFactory
(which gives access to all styles, built-in and plugin-based) or by
instantiating their class.
The advantage of the factory is that you can use it to gather runtime
information about which styles are available to your application, and
set a style based on e.g. user input. For an example of this, see the Qt
Jambi Examples & Demo Launcher in the com.trolltech.launcher package :-)
-- Eskil