lwjgl 0.95 crashes on Linux with accelerated ATI card

Started by tomsen, February 23, 2005, 09:48:50

Previous topic - Next topic

tomsen

Hi,
I got lwjgl to work with my old nVidia card + driver then switched to Radeon. Now I get core dumps.

WindowTest says:

tomsen@hawkeye:~/lib/lwjgl-linux-0.95$ java -cp lwjgl.jar:lwjgl_util.jar:lwjgl_test.jar -Djava.library.path=/home/tomsen/lib/lwjgl-linux-0.95/ org.lwjgl.test.WindowCreationTest
Found 5 display modes
Moving to 100, 100
JVMDG217: Dump Handler is Processing Signal 11 - Please Wait.
JVMDG303: JVM Requesting Java core file
JVMDG304: Java core file written to /home/tomsen/lib/lwjgl-linux-0.95/javacore.20050223.104154.3739.txt
JVMDG215: Dump Handler has Processed Exception Signal 11.
Segmentation fault




Here is the info from the dump:

0SECTION       XHPI subcomponent dump routine
NULL           ==============================
1HPTIME        Wed Feb 23 10:41:54 2005
1HPSIGRECV     SIGSEGV received in glXGetSelectedEvent at 0xb52479a9 in /home/tomsen/lib/lwjgl-linux-0.95/liblwjgl.so. Processing terminated.
1HPFULLVERSION J2RE 1.4.2 IBM build cxia32142-20040926
NULL          
1HPOPENV       Operating Environment
NULL           ---------------------
2HPHOSTNAME    Host             : hawkeye.(none)
2HPOSLEVEL     OS Level         : 2.6.9-20050223-k7.#1 Wed Feb 23 08:39:06 CET 2005
2HPLIBCVER     glibc Version    : 2.3.2

I use the latest ATI driver and I am on Debian.

Any ideas?
 + 2 equals 5 for very large values of 2

tomsen

Forgot to mention that otherwise hardware acceleration works fine. I can run the ATI provided fgl_glxgears and the GL screensavers fine.
 + 2 equals 5 for very large values of 2

elias

What a strange debug output. The SUN java usually gives a stack trace in the log file. Is that possible to get from your configuration?

- elias

tomsen

it's an IBM vm, the stacktrace follows down below. I can send you the complete file if u like.

1XMCURTHDINFO  Current Thread Details
NULL           ----------------------
3XMTHREADINFO      "main" (TID:1006B9B8, sys_thread_t:80753B0, state:R, native ID:B7E75080) prio=5
4XESTACKTRACE          at org.lwjgl.opengl.LinuxDisplay.nCreateContext(Native Method)
4XESTACKTRACE          at org.lwjgl.opengl.LinuxDisplay.createContext(LinuxDisplay.java:176)
4XESTACKTRACE          at org.lwjgl.opengl.Display.create(Display.java:530)
4XESTACKTRACE          at org.lwjgl.opengl.Display.create(Display.java:507)
4XESTACKTRACE          at org.lwjgl.test.WindowCreationTest.main(WindowCreationTest.java:66)
NULL          
3HPREGISTERS           Register Values
NULL                   ---------------
3HPREGVALUES            EAX : B521EF6F, EBX : B52431A0, ECX : 00000000
3HPREGVALUES            EDX : 0821E1D8, ESI : 080751D8, EDI : BFFFEFD8
3HPREGVALUES            EBP : BFFFEE70, ESP : BFFFEE58, EIP : B52479A9
3HPREGVALUES            EFLAGS : 00210296
NULL          
3HPNATIVESTACK         Native Stack of "main" PID 3739
NULL                   -------------------------
3HPSTACKLINE            glXGetSelectedEvent at B52479A9 in liblwjgl.so
3HPSTACKLINE            extgl_InitGLX at B521F008 in liblwjgl.so
3HPSTACKLINE            Java_org_lwjgl_opengl_LinuxDisplay_nCreateContext at B522228B in liblwjgl.so
3HPSTACKLINE            B4DBC538
3HPSTACKLINE            L0_invokeinterface_quick__ at B7DF5E07 in libjvm.so
3HPSTACKLINE            L0_invokestatic_quick__ at B7DF5C9F in libjvm.so
3HPSTACKLINE            L0_invokestatic_quick__ at B7DF5C9F in libjvm.so
3HPSTACKLINE            mmipExecuteJava at B7DF00C0 in libjvm.so
3HPSTACKLINE            BFFFF638

-thomas

P.S. If it turns out to be a problem with the ATI implementation I will push it to them via their feedback program. After all the nvidia stuff works fine.
 + 2 equals 5 for very large values of 2

elias

Nothing apparent from that log, I'm afraid. I'm using the latest ATI drivers here too, and it runs fine. I'm running Suse 9.2 with either the 1.4.2 and 1.5.0 jre from sun. Are you on a 64 bit machine or something?

- elias

tomsen

No. Plain 32-bit Athlon XP on NForce2 .... I try another VM then.
 + 2 equals 5 for very large values of 2

tomsen

Ah!
Latest 1.4.2 Sun VM works. Part of the problem is the ibm vm ... I only wonder why it worked with the NVidia GL implementation. Never mind.   :D

best regards

-thomas
 + 2 equals 5 for very large values of 2

elias

I found it highly unlikely that the IBM jvm had a bug like that, so I downloaded it and sure enough, it crashed :) Investigating a little further, I found a problem with some global native symbols that clashes with the symbols in the GL library. Renaming the LWJGL ones fixes the problem and the crash disappears. I'll check in proper fix to CVS in a few days, so it should be ready to 0.96.

Thank you for reporting the bug,
- elias

tomsen

I'm glad I could help. I think your project is really cool.

-thomas
 + 2 equals 5 for very large values of 2