Summary: | Regression in b281 causes JVM crash with GLCanvas | ||
---|---|---|---|
Product: | [JogAmp] Jogl | Reporter: | Owen Dimond <odimond> |
Component: | windows | Assignee: | Sven Gothel <sgothel> |
Status: | VERIFIED DUPLICATE | ||
Severity: | major | CC: | bardackx, carlo.salinari, wwalker3 |
Priority: | --- | ||
Version: | 2 | ||
Hardware: | pc_x86_32 | ||
OS: | windows | ||
Type: | --- | SCM Refs: | |
Workaround: | --- | ||
Attachments: |
example application
JVM crash output output of etc\test.bat stdout/stderr when setting -Djogl.debug=true |
Description
Owen Dimond
2011-02-10 23:10:43 CET
Created attachment 227 [details]
JVM crash output
Created attachment 228 [details]
output of etc\test.bat
Some additional information from a colleague who has an ATI Mobility Radeon X300 graphics card: With b292 the JVM crashes With b280 I get the exception below With b266 it works Exception in thread "AWT-EventQueue-0" javax.media.opengl.GLException: Unable to set pixel format 5 for device context 0xffffffffb8014337: error code 0 at com.jogamp.opengl.impl.windows.wgl.WindowsWGLGraphicsConfigurationFactory.up dateGraphicsConfiguration(WindowsWGLGraphicsConfigurationFactory.java:193) at com.jogamp.opengl.impl.windows.wgl.WindowsWGLGraphicsConfiguration.updateGra phicsConfiguration(WindowsWGLGraphicsConfiguration.java:140) at com.jogamp.opengl.impl.windows.wgl.WindowsWGLDrawable.setRealizedImpl(Window sWGLDrawable.java:71) at com.jogamp.opengl.impl.GLDrawableImpl.setRealized(GLDrawableImpl.java:155) at javax.media.opengl.awt.GLCanvas.validateGLDrawable(GLCanvas.java:555) at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:383) at javax.media.opengl.awt.GLCanvas.paint(GLCanvas.java:484) at sun.awt.RepaintArea.paintComponent(Unknown Source) at sun.awt.RepaintArea.paint(Unknown Source) at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Dear Owen, would you mind trying with b303, since I fixed a few PFD/GLCaps bugs since prev builds ? Thank you Created attachment 230 [details]
stdout/stderr when setting -Djogl.debug=true
Same result using b303.
I noticed that setting -Djogl.debug=true causes the application to run correctly (with all builds since b281), so I have added the stdout/stderr in case this is useful.
Some further information on this problem. I noticed this post which mentions a problem with Nvidia driver 260.99: http://forum.jogamp.org/Crash-with-AWT-based-windows-tp2234133p2234758.html I tried switching to previous 258.96 and latest 266.58 and with both these the JVM crash now does not occur on my system. Turning off the thread optimization setting makes no change with 260.99. However, the problem with ATI remains. I will try to get more information about this system to compare with these posts: http://forum.jogamp.org/JOGL2-0-rc2-Win-XP-32-ATI-drivers-and-VM-crashes-tp2642286p2642286.html https://jogamp.org/bugzilla/show_bug.cgi?id=480 https://jogamp.org/bugzilla/show_bug.cgi?id=478 This does look like bug 480. The reason that turning the debug flags on can fix the problem is that the debug code makes a GLContext current on the main thread (during GLProfile.initSingleton()), which prevents the access violation crash later. NV was resolved as I read in the forum and Comment 6. See Comment 7, ATI WinXP 32bit bug .. *** This bug has been marked as a duplicate of bug 480 *** The HotSpot crash with ATI is now fixed with b357, however the GLException (see Comment 3) that occurred with b280 has now returned. Windows XP 32-bit ATI Radeon Mobility X300 Driver: 6.14.10.6568 Exception in thread "AWT-EventQueue-0" javax.media.opengl.GLException: Unable to set pixel format 5 for device context 0xd012a4f: error code 0 at jogamp.opengl.windows.wgl.WindowsWGLGraphicsConfigurationFactory.updateGraph icsConfiguration(WindowsWGLGraphicsConfigurationFactory.java:203) at jogamp.opengl.windows.wgl.WindowsWGLGraphicsConfiguration.updateGraphicsConf iguration(WindowsWGLGraphicsConfiguration.java:136) at jogamp.opengl.windows.wgl.WindowsWGLDrawable.setRealizedImpl(WindowsWGLDrawa ble.java:71) at jogamp.opengl.GLDrawableImpl.setRealized(GLDrawableImpl.java:155) at javax.media.opengl.awt.GLCanvas.validateGLDrawable(GLCanvas.java:559) at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:382) at javax.media.opengl.awt.GLCanvas.paint(GLCanvas.java:487) at sun.awt.RepaintArea.paintComponent(Unknown Source) at sun.awt.RepaintArea.paint(Unknown Source) at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Hi Owen, I just now tested build 358 on my Win XP 32-bit ATI Mobility Radeon x300, and etc\test.bat works properly. However, I noticed my drivers are considerably newer than your colleague's -- I have 8.162.0.0 (8/3/2005). Perhaps this is the problem now? |