JVM crashes (with shaders?)

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

JVM crashes (with shaders?)

Martin
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

Reply | Threaded
Open this post in threaded view
|

Re: JVM crashes (with shaders?)

Sven Gothel
Administrator
On 02/13/2012 11:06 PM, Martin [via jogamp] wrote:

>
>
> 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
I would say the usual procedure:
  - FAQ / Bugreport (need the test.log / test_dbg.log to determine your system)
  - Where is the project / source to test it here ?

I am sorry, your stack trace is pretty generic and doesn't tell me anything.

~Sven


signature.asc (910 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: JVM crashes (with shaders?)

Demoscene Passivist
Administrator
In reply to this post by Martin
Especially on Nvidia hardware I also got such crashes from time to time ... usually upgrading the JRE and or the display driver fixed the problem for me ...
Reply | Threaded
Open this post in threaded view
|

Re: JVM crashes (with shaders?)

Martin
Reinstalling drivers solved the problem for a jzy3d user, thanks for him (https://groups.google.com/forum/#!topic/jzy3d/OzVpeTtQUl8)

His core dump header indeed seams to mention a NVidia dll:

#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x69732332, pid=5832, tid=1300
#
# JRE version: 6.0_30-b12
# Java VM: Java HotSpot(TM) Client VM (20.5-b03 mixed mode, sharing windows-x86 )
# Problematic frame:
# C  [nvoglnt.dll+0x232332]

My core dump does not give lot of information, I think that may be a different problem (my drivers are up to date)

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000, pid=8308, tid=6060
#
# JRE version: 6.0_29-b11
# Java VM: Java HotSpot(TM) Client VM (20.4-b02 mixed mode, sharing windows-x86 )
# Problematic frame:
# C  0x00000000

I will post a bug report asap.
Cheers,
Martin
Reply | Threaded
Open this post in threaded view
|

Re: JVM crashes (with shaders?)

gouessej
Administrator
I reproduce sometimes this kind of crash (EXCEPTION_ACCESS_VIOLATION) under Microsoft Windows with JOGL 1.1.1a when testing TUER. In my case, it was caused by MSN Webmessenger and sometimes by softwares in the Office suite, the crash was reproducible only when one of these softwares was run at the same time. Actually, there are many possible root causes.
Julien Gouesse | Personal blog | Website