Bug 162

Summary: sigsegv (crash) with DRI (open-source) radeon (r200) drivers
Product: [JogAmp] Jogl Reporter: Sven Gothel <sgothel>
Component: coreAssignee: Sven Gothel <sgothel>
Status: VERIFIED WORKSFORME    
Severity: normal    
Priority: P4    
Version: 1   
Hardware: All   
OS: linux   
Type: DEFECT SCM Refs:
Workaround: ---
Attachments: JVM generated error log of testcase

Description Sven Gothel 2010-03-24 07:47:50 CET


---- Reported by nik777 2005-05-23 18:49:26 ----

I'm running an updated Fedora Core 3 (kernel 2.6.11-1.14_FC3), on a DELL
latitude D600 notebook with an ATI Mobility 9000 (M9) graphics card and:

Xorg 6.8.2 (release date 9 February 2005)
radeon 4.0.1, ati 6.5.6, 
drm 1.0.0 20040925.

I have upgraded linux using YUM, and JOGL to the binary build of May 11 2005).

I am getting a sigsegv on glXCreateContext and/or glXDestroyContext in some JOGL
applications. I can see no evidence of similar errors with other, non-JOGL, apps.

I have a 100% reproducable test case: if I run the JOGL demo
testContextDestruction, and click on the "swap frame 1's and frame2's
components" button twice, then I get a SIGSEGV (abbreviated details below). I
get a similar (but not identical) sigsegv in a java 3D modelling tool.

The following are the first few lines from the error file:

# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  SIGSEGV (0xb) at pc=0xa7e7d0be, pid=2476, tid=2773232560
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0_01-b08 mixed mode)
# Problematic frame:
# C  [r200_dri.so+0x14d0be]
#

---------------  T H R E A D  ---------------

Current thread (0x0842d778):  JavaThread "AWT-EventQueue-0" [_thread_in_native,
id=2487]

siginfo:si_signo=11, si_errno=0, si_code=1, si_addr=0x00000050

Registers:
EAX=0x00000000, EBX=0x084544d8, ECX=0x084544d8, EDX=0x085f41e0
ESP=0xa54c1924, EBP=0xa54c194c, ESI=0x08451ed8, EDI=0xa54c1938
EIP=0xa7e7d0be, CR2=0x00000050, EFLAGS=0x00010202

Top of Stack: (sp=0xa54c1924)
0xa54c1924:   084544d8 a54c1938 a54c193c 00000000
0xa54c1934:   005daf01 02c00011 085f41e0 08454418
0xa54c1944:   08451ed8 084889cc a54c197c a7e7dc11
0xa54c1954:   08453a50 08451ed8 00000000 08451ed8
0xa54c1964:   08451edc 00001000 00000000 084889cc
0xa54c1974:   084884c0 08453650 a54c19bc 00b563a2
0xa54c1984:   081b69e8 08453a50 00000000 00000000
0xa54c1994:   084889cc a54c19bc 08453a50 8fbcc5a8

Instructions: (pc=0xa7e7d0be)
0xa7e7d0ae:   e8 f2 0f ee ff 85 c0 2e 74 a3 8b 45 f0 8b 40 08
0xa7e7d0be:   8b 40 50 8b 30 8b 45 ec 89 44 24 04 89 34 24 ff

Stack: [0xa5442000,0xa54c3000),  sp=0xa54c1924,  free space=510k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [r200_dri.so+0x14d0be]
C  [r200_dri.so+0x14dc11]
C  [libGL.so.1+0x4a3a2]
C  [libGL.so.1+0x4a7e7]  glXCreateContext+0x3e
C  [libjogl.so+0xc09a2] Java_net_java_games_jogl_impl_x11_GLX_glXCreateContext0
+0x76
j net.java.games.jogl.impl.x11.GLX.glXCreateContext0(JLjava/nio/Buffer;JZ)J+0
j net.java.games.jogl.impl.x11.GLX.glXCreateContext(JLnet/java/games/jogl/impl/
x11/XVisualInfo;JZ)J+16
j net.java.games.jogl.impl.x11.X11GLContext.createContext(Lnet/java/games/jogl/
impl/x11/XVisualInfo;Z)J+46
j net.java.games.jogl.impl.x11.X11GLContext.chooseVisualAndCreateContext(Z)V+9
j  net.java.games.jogl.impl.x11.X11OnscreenGLContext.create()V+2
J net.java.games.jogl.impl.x11.X11GLContext.makeCurrent(Ljava/lang/Runnable;)Z
J net.java.games.jogl.impl.x11.X11OnscreenGLContext.makeCurrent(Ljava/lang/Runn
able;)Z
J net.java.games.jogl.impl.GLContext.invokeGL(Ljava/lang/Runnable;ZLjava/lang/R
unnable;)V



---- Additional Comments From kbr 2005-05-23 23:38:18 ----

This is probably a bug in the OpenGL driver. JOGL stresses the multithreading
support of the driver more than most C applications. While it is certainly
possible that there are bugs in JOGL's use of GLX (and, in particular, not
enough synchronization with the AWT) JOGL's X11 support works on Linux and
Solaris wirh NVidia and Sun hardware.

I'm downgrading this issue to a P4. I recommend that the submitter file a bug
with the authors of the DRI r200 driver and ask them to try running the JOGL
test case which crashes. We will try to investigate it in the future as time
permits. Currently our ATI hardware is non-functional under Linux.




---- Additional Comments From nik777 2005-05-23 23:47:31 ----

Created an attachment
JVM generated error log of testcase




---- Additional Comments From kbr 2006-01-11 00:32:57 ----

Since the time this bug was filed the JOGL implementation has been substantially
rewritten to support the JSR-231 APIs. The new implementation is more robust
than earlier ones as well as more powerful. There have been no widespread
reports of instability of the current implementation on X11 platforms so I
believe this crash is due to either a bug in the r200 drivers or some incorrect
code in the old JOGL implementation likely since fixed. Closing this bug as not
reproducible. Please open a new bug if problems persist with the current JOGL build.




--- Bug imported by sgothel@jausoft.com 2010-03-24 07:47 EDT  ---

This bug was previously known as _bug_ 162 at https://jogl.dev.java.net/bugs/show_bug.cgi?id=162
Imported an attachment (id=56)

The original submitter of attachment 56 [details] is unknown.
   Reassigning to the person who moved it here: sgothel@jausoft.com.