Using ATI proprietary driver 8.24.8 on FC5, on a thinkpad T60p. Sun JDK 1.5.0_06. JOGL is a nightly build from a day or two ago. I’m having two different problems:
PROBLEM ONE
GLCanvas creation works as expected. However, all attempts to create a GLJPanel appear to fail, including any of the demos available via demos.jrefract.JRefract. (JGears works when invoked directly, but not from JRefract.)
The application immediately exits with a HotSpot error:
An unexpected error has been detected by HotSpot Virtual Machine:
SIGSEGV (0xb) at pc=0x0857e006, pid=3357, tid=29297568
Java VM: Java HotSpot™ Server VM (1.5.0_06-b05 mixed mode)
Problematic frame:
C [fglrx_dri.so+0x525006] fglX11PBufferReleaseAllTexImages+0x16
The bowels of proprietary driver, it seems. But the fact that it is tickled so repeatedly when creating GLJPanels suggests that perhaps there might be a bug in JOGL (releasing a NULL pointer, perhaps? This code works on nvidia, so perhaps their driver guards against this?) Pure speculation on my part! The hs log file contains this stack dump:
C [fglrx_dri.so+0x525006] fglX11PBufferReleaseAllTexImages+0x16
C [fglrx_dri.so+0x52aed2]
C [libGL.so.1+0x737b7] glXDestroyPbuffer+0x87
C [libjogl.so+0x3f954] Java_com_sun_opengl_impl_x11_GLX_dispatch_1glXDestroyPbuffer0__JJJ+0x70
j com.sun.opengl.impl.x11.GLX.dispatch_glXDestroyPbuffer0(JJJ)V+0
j com.sun.opengl.impl.x11.GLX.glXDestroyPbuffer(JJ)V+29
j com.sun.opengl.impl.x11.X11PbufferGLDrawable.destroy()V+21
j com.sun.opengl.impl.GLPbufferImpl$DestroyAction.run()V+42
j com.sun.opengl.impl.GLPbufferImpl.destroy()V+26
j javax.media.opengl.GLJPanel.handleReshape()V+243
j javax.media.opengl.GLJPanel.paintComponent(Ljava/awt/Graphics;)V+27
j javax.swing.JComponent.paint(Ljava/awt/Graphics;)V+260
j javax.swing.JComponent.paintChildren(Ljava/awt/Graphics;)V+495
j javax.swing.JComponent.paint(Ljava/awt/Graphics;)V+292
(I’m attaching the whole dump…)
PROBLEM TWO
Using GLCanvas for this one… I have an app which, after about five minutes of running uneventfully, abruptly fails with another hotspot error, this time here:
SIGSEGV (0xb) at pc=0x08631c30, pid=3696, tid=62303136
Java VM: Java HotSpot™ Server VM (1.5.0_06-b05 mixed mode)
Problematic frame:
C [fglrx_dri.so+0x5d8c30]
The hs dump shows:
C [fglrx_dri.so+0x525006] fglX11PBufferReleaseAllTexImages+0x16
C [fglrx_dri.so+0x52aed2]
C [libGL.so.1+0x737b7] glXDestroyPbuffer+0x87
C [libjogl.so+0x3f954] Java_com_sun_opengl_impl_x11_GLX_dispatch_1glXDestroyPbuffer0__JJJ+0x70
j com.sun.opengl.impl.x11.GLX.dispatch_glXDestroyPbuffer0(JJJ)V+0
j com.sun.opengl.impl.x11.GLX.glXDestroyPbuffer(JJ)V+29
j com.sun.opengl.impl.x11.X11PbufferGLDrawable.destroy()V+21
j com.sun.opengl.impl.GLPbufferImpl$DestroyAction.run()V+42
j com.sun.opengl.impl.GLPbufferImpl.destroy()V+26
j javax.media.opengl.GLJPanel.handleReshape()V+243
Interesting! Looks like a similar code path as problem one! I’m not sure why the Pbuffer is being destroyed: the crash does not correspond to me resizing the window or creating any new windows…
Again, in the bowels of fglrx_dri. I don’t have much hope that you’ll be able to help me with this one, but on the off chance you’ve seen it before and know a work-around, do tell!
If you’d like me to take either (or both) of these issues up with ATI, I can do that as well (though at the moment, my bug report might be rather terse-- just the JVM dumps!)
And just because it doesn’t get said enough, Ken, the support you provide is amazing, especially since a good chunk of the problems aren’t even in JOGL code!