JVM crashes (with shaders?)
Posted by Martin on Feb 13, 2012; 10:06pm
URL: https://forum.jogamp.org/JVM-crashes-with-shaders-tp3741796.html
Hi,
I noticed the below mentionned problem, but have no hurry to get a fix.
I got violent crashes of the JVM when using shaders. I am using JOGL2-rc5, running with jre6 on windows 7.
Once the JVM crashes for one program it will crash for "some" following programs that use shaders (was about to say "all" instead of "some" but finally got one run working after 4/5 crashes).
I found this problem both when making some experiments with depth peeling, and both when using demoscene passivist demos (even the simple GL2_BasicFragmentShading)
Below are some sample stacks of various failures showing it always lead to com.jogamp.nativewindow.impl.windows.GDI.SwapBuffers
Best regards,
Martin
----------------------------------------
Stack: [0x09070000,0x090c0000], sp=0x090bce1c, free space=307k
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j jogamp.nativewindow.windows.GDI.SwapBuffers(J)Z+0
j jogamp.opengl.windows.wgl.WindowsWGLDrawable.swapBuffersImpl()V+16
j jogamp.opengl.GLDrawableImpl.swapBuffers()V+60
j javax.media.opengl.awt.GLCanvas$SwapBuffersAction.run()V+7
j jogamp.opengl.GLDrawableHelper.invokeGL(Ljavax/media/opengl/GLDrawable;Ljavax/media/opengl/GLContext;Ljava/lang/Runnable;Ljava/lang/Runnable;)V+249
j javax.media.opengl.awt.GLCanvas.maybeDoSingleThreadedWorkaround(Ljava/lang/Runnable;Ljava/lang/Runnable;)V+36
j javax.media.opengl.awt.GLCanvas.swapBuffers()V+9
j org.jzy3d.plot3d.rendering.ddp.DepthPeelingRenderer3d.display(Ljavax/media/opengl/GLAutoDrawable;)V+44
j jogamp.opengl.GLDrawableHelper.displayImpl(Ljavax/media/opengl/GLAutoDrawable;)V+45
j jogamp.opengl.GLDrawableHelper.display(Ljavax/media/opengl/GLAutoDrawable;)V+2
j javax.media.opengl.awt.GLCanvas$DisplayAction.run()V+121
j jogamp.opengl.GLDrawableHelper.invokeGL(Ljavax/media/opengl/GLDrawable;Ljavax/media/opengl/GLContext;Ljava/lang/Runnable;Ljava/lang/Runnable;)V+249
j javax.media.opengl.awt.GLCanvas$DisplayOnEventDispatchThreadAction.run()V+35
j java.awt.event.InvocationEvent.dispatch()V+11
j java.awt.EventQueue.dispatchEventImpl(Ljava/awt/AWTEvent;Ljava/lang/Object;)V+21
j java.awt.EventQueue.access$000(Ljava/awt/EventQueue;Ljava/awt/AWTEvent;Ljava/lang/Object;)V+3
j java.awt.EventQueue$1.run()Ljava/lang/Void;+12
j java.awt.EventQueue$1.run()Ljava/lang/Object;+1
v ~StubRoutines::call_stub
j java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;+0
j java.security.AccessControlContext$1.doIntersectionPrivilege(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;)Ljava/lang/Object;+28
j java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+46
j java.awt.EventDispatchThread.pumpOneEventForFilters(I)Z+204
j java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+30
j java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11
j java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
j java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
j java.awt.EventDispatchThread.run()V+9
v ~StubRoutines::call_stub
----------------------------------------
Stack: [0x07600000,0x07650000], sp=0x0764d0cc, free space=308k
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j com.jogamp.nativewindow.impl.windows.GDI.SwapBuffers(J)Z+0
j com.jogamp.opengl.impl.windows.wgl.WindowsWGLDrawable.swapBuffersImpl()V+16
j com.jogamp.opengl.impl.GLDrawableImpl.swapBuffers()V+85
j com.jogamp.opengl.impl.GLDrawableHelper.invokeGL(Ljavax/media/opengl/GLDrawable;Ljavax/media/opengl/GLContext;Ljava/lang/Runnable;Ljava/lang/Runnable;)V+291
j javax.media.opengl.awt.GLCanvas$DisplayOnEventDispatchThreadAction.run()V+35
j java.awt.event.InvocationEvent.dispatch()V+11
j java.awt.EventQueue.dispatchEventImpl(Ljava/awt/AWTEvent;Ljava/lang/Object;)V+21
j java.awt.EventQueue.access$000(Ljava/awt/EventQueue;Ljava/awt/AWTEvent;Ljava/lang/Object;)V+3
j java.awt.EventQueue$1.run()Ljava/lang/Void;+12
j java.awt.EventQueue$1.run()Ljava/lang/Object;+1
v ~StubRoutines::call_stub
j java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;+0
j java.security.AccessControlContext$1.doIntersectionPrivilege(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;)Ljava/lang/Object;+28
j java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+46
j java.awt.EventDispatchThread.pumpOneEventForFilters(I)Z+204
j java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+30
j java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11
j java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
j java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
j java.awt.EventDispatchThread.run()V+9
v ~StubRoutines::call_stub