JVM crash using jogl 2.0 rc11

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

JVM crash using jogl 2.0 rc11

Tammy
This post was updated on .
Hello all,

I have a java web start application that is intermittently crashing while performing and OpenGL check using jogl 2.0 rc11, on Windows 7 OS,  on certain systems. This application works fine on most Windows 7 and Mac OS machines.

The JVM crash log looks like:
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x637bb7a4, pid=2228, tid=3604
#
# JRE version: 7.0_25-b16
# Java VM: Java HotSpot(TM) Client VM (23.25-b01 mixed mode windows-x86 )
# Problematic frame:
# C  0x637bb7a4
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

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

Current thread (0x08cef400):  JavaThread "javawsApplicationMain-SharedResourceRunner" daemon [_thread_in_native, id=3604, stack(0x077f0000,0x07840000)]

siginfo: ExceptionCode=0xc0000005, ExceptionInformation=0x00000008 0x637bb7a4

Registers:
EAX=0x05a7af40, EBX=0x00000000, ECX=0x00000000, EDX=0xbc010dfa
ESP=0x0783f04c, EBP=0x0783f0d8, ESI=0x00008261, EDI=0x00000002
EIP=0x637bb7a4, EFLAGS=0x00010202

Top of Stack: (sp=0x0783f04c)
0x0783f04c:   600e7c13 bc010dfa 00000000 00000000
0x0783f05c:   bc010dfa 600e5b60 08cef400 91ab22a3
0x0783f06c:   0783f17c 0783f0a4 61ed3d83 08cef400
0x0783f07c:   91ab2297 08cef528 62045c3c 08cef528
0x0783f08c:   0783f17c 00000022 91ab228f 0783f17c
0x0783f09c:   08cef528 600e5b60 0783f094 61f75b3c
0x0783f0ac:   0783f66c 621355ee 0000000a 00000001
0x0783f0bc:   00000002 00000000 00008261 00000000

Instructions: (pc=0x637bb7a4)
0x637bb784:  
[error occurred during error reporting (printing registers, top of stack, instructions near pc), id 0xc0000005]

Register to memory mapping:

EAX=0x05a7af40 is an unknown value
EBX=0x00000000 is an unknown value
ECX=0x00000000 is an unknown value
EDX=0xbc010dfa is an unknown value
ESP=0x0783f04c is pointing into the stack for thread: 0x08cef400
EBP=0x0783f0d8 is pointing into the stack for thread: 0x08cef400
ESI=0x00008261 is an unknown value
EDI=0x00000002 is an unknown value


Stack: [0x077f0000,0x07840000],  sp=0x0783f04c,  free space=316k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  0x637bb7a4
C  [jogl_desktop.dll+0x33346]  Java_jogamp_opengl_windows_wgl_WGLExtImpl_dispatch_1wglCreateContextAttribsARB0__JJLjava_lang_Object_2IJ+0x3e
j  jogamp.opengl.windows.wgl.WGLExtImpl.dispatch_wglCreateContextAttribsARB0(JJLjava/lang/Object;IJ)J+0
j  jogamp.opengl.windows.wgl.WGLExtImpl.wglCreateContextAttribsARB(JJLjava/nio/IntBuffer;)J+59
j  jogamp.opengl.windows.wgl.WindowsWGLContext.createContextARBImpl(JZIII)J+326
j  jogamp.opengl.GLContextImpl.createContextARBVersions(JZIIIII[I[I)J+147
j  jogamp.opengl.GLContextImpl.createContextARBMapVersionsAvailable(II)Z+110
j  jogamp.opengl.GLContextImpl.mapGLVersions(Ljavax/media/nativewindow/AbstractGraphicsDevice;)Z+46
j  jogamp.opengl.GLContextImpl.createContextARB(JZ)J+95
j  jogamp.opengl.windows.wgl.WindowsWGLContext.createImpl(Ljogamp/opengl/GLContextImpl;)Z+345
j  jogamp.opengl.GLContextImpl.makeCurrentWithinLock(I)I+47
j  jogamp.opengl.GLContextImpl.makeCurrent()I+227
j  jogamp.opengl.windows.wgl.WindowsWGLDrawableFactory$SharedResourceImplementation.createSharedResource(Ljava/lang/String;)Ljogamp/opengl/SharedResourceRunner$Resource;+158
j  jogamp.opengl.SharedResourceRunner.run()V+270
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub
V  [jvm.dll+0x124afa]
V  [jvm.dll+0x1d224e]
V  [jvm.dll+0x124caf]
V  [jvm.dll+0x124d17]
V  [jvm.dll+0xcf06f]
V  [jvm.dll+0x144447]
V  [jvm.dll+0x1445b0]
V  [jvm.dll+0x177bb9]
C  [msvcr100.dll+0x5c6de]  endthreadex+0x3a
C  [msvcr100.dll+0x5c788]  endthreadex+0xe4
C  [kernel32.dll+0x4ed6c]  BaseThreadInitThunk+0x12
C  [ntdll.dll+0x637fb]  RtlInitializeExceptionChain+0xef
C  [ntdll.dll+0x637ce]  RtlInitializeExceptionChain+0xc2

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  jogamp.opengl.windows.wgl.WGLExtImpl.dispatch_wglCreateContextAttribsARB0(JJLjava/lang/Object;IJ)J+0
j  jogamp.opengl.windows.wgl.WGLExtImpl.wglCreateContextAttribsARB(JJLjava/nio/IntBuffer;)J+59
j  jogamp.opengl.windows.wgl.WindowsWGLContext.createContextARBImpl(JZIII)J+326
j  jogamp.opengl.GLContextImpl.createContextARBVersions(JZIIIII[I[I)J+147
j  jogamp.opengl.GLContextImpl.createContextARBMapVersionsAvailable(II)Z+110
j  jogamp.opengl.GLContextImpl.mapGLVersions(Ljavax/media/nativewindow/AbstractGraphicsDevice;)Z+46
j  jogamp.opengl.GLContextImpl.createContextARB(JZ)J+95
j  jogamp.opengl.windows.wgl.WindowsWGLContext.createImpl(Ljogamp/opengl/GLContextImpl;)Z+345
j  jogamp.opengl.GLContextImpl.makeCurrentWithinLock(I)I+47
j  jogamp.opengl.GLContextImpl.makeCurrent()I+227
j  jogamp.opengl.windows.wgl.WindowsWGLDrawableFactory$SharedResourceImplementation.createSharedResource(Ljava/lang/String;)Ljogamp/opengl/SharedResourceRunner$Resource;+158
j  jogamp.opengl.SharedResourceRunner.run()V+270
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub

 
and part of the log when the following jogl debug parameters are set.
-Dnewt.debug=all -Dnativewindow.debug=all -Djogl.debug=all looks like:

Platform: WINDOWS / Windows 7 6.1 (os), x86 (arch), GENERIC_ABI, 4 cores
MachineDescription: runtimeValidated true, littleEndian true, 32Bit true, primitive size / alignment:
  int8    1 / 1, int16   2 / 2
  int     4 / 4, long    4 / 4
  int32   4 / 4, int64   8 / 8
  float   4 / 4, double  8 / 8, ldouble 12 / 4
  pointer 4 / 4, page    4096
Platform: Java Version: 1.7.0_25, VM: Java HotSpot(TM) Client VM, Runtime: Java(TM) SE Runtime Environment
Platform: Java Vendor: Oracle Corporation, http://java.oracle.com/, is JavaSE: true, AWT enabled: true
-----------------------------------------------------------------------------------------------------
2013-12-05 14:03:35 [javawsApplicationMain] INFO  javawsApplicationMain 44 - -----------------------------------------------------------------------------------------------------
Package: com.jogamp.common
Extension Name: com.jogamp.common
Specification Title: GlueGen Java Bindings Generator
Specification Vendor: JogAmp Community
Specification Version: 2.0
Implementation Title: GlueGen Run-Time
Implementation Vendor: JogAmp Community
Implementation Vendor ID: com.jogamp
Implementation URL: http://jogamp.org/
Implementation Version: 2.0-b52-20121101
Implementation Branch: rc
Implementation Commit: d430657cfd1f21885f3fdebebe6f0a49b1c5cd13
-----------------------------------------------------------------------------------------------------
2013-12-05 14:03:35 [javawsApplicationMain] INFO  javawsApplicationMain 44 - -----------------------------------------------------------------------------------------------------
Package: javax.media.nativewindow
Extension Name: null
Specification Title: null
Specification Vendor: null
Specification Version: null
Implementation Title: null
Implementation Vendor: null
Implementation Vendor ID: null
Implementation URL: null
Implementation Version: null
Implementation Branch: null
Implementation Commit: null
-----------------------------------------------------------------------------------------------------
2013-12-05 14:03:35 [javawsApplicationMain] INFO  javawsApplicationMain 44 - -----------------------------------------------------------------------------------------------------
Package: javax.media.opengl
Extension Name: javax.media.opengl
Specification Title: Java Bindings for OpenGL API Specification
Specification Vendor: JogAmp Community
Specification Version: 2.0
Implementation Title: Java Bindings for OpenGL Runtime Environment
Implementation Vendor: JogAmp Community
Implementation Vendor ID: com.jogamp
Implementation URL: http://jogamp.org/
Implementation Version: 2.0-b66-20121101
Implementation Branch: rc
Implementation Commit: 502847f59ef01c78a85e4ee5453a09d9b83d9a5e
-----------------------------------------------------------------------------------------------------

Can you tell me how to fix this error?

Thanks,
Tammy
Reply | Threaded
Open this post in threaded view
|

Re: JVM crash using jogl 2.0 rc11

hharrison
I'd suggest trying with one of the newer builds first to see if this problem has already been fixed.

http://jogamp.org/deployment/v2.1.2/

Harvey
Reply | Threaded
Open this post in threaded view
|

Re: JVM crash using jogl 2.0 rc11

gouessej
Administrator
In reply to this post by Tammy
Harvey is right. Please don't use obsolete versions and update JogAmp more frequently.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: JVM crash using jogl 2.0 rc11

Sven Gothel
Administrator
In reply to this post by Tammy
On 12/06/2013 02:44 AM, Tammy [via jogamp] wrote:

> Hello all,
>
> I have a java web start application that is intermittently crashing while
> performing and OpenGL check using jogl 2.0 rc11, on Windows 7 OS,  on certain
> systems. This application works fine on most Windows 7 and Mac OS machines.
>
> I have attached a link to the JVM crash log
> https://dl.dropboxusercontent.com/u/34523917/JVM%20crash/hs_err_pid2228.log
>  
> and the log when the following jogl debug parameters are set.
> https://dl.dropboxusercontent.com/u/34523917/JVM%20crash/jogl.log
I get a 404 here ..

>
> -Dnewt.debug=all -Dnativewindow.debug=all -Djogl.debug=all
>
> Can you tell me how to fix this error?

As Harvey and Julien suggested, pls try the latest,
which now should mean the latest RC:
  http://jogamp.org/deployment/archive/master/?C=M;O=D

If you still can reproduce the error, pls
file a bug report (-> Wiki/FAQ/..) using our bugzilla.

Thank you.

~Sven


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

Re: JVM crash using jogl 2.0 rc11

Tammy
upgraded the application to jogl 2.1.4 submitted bug report here:
https://jogamp.org/bugzilla/show_bug.cgi?id=976
Reply | Threaded
Open this post in threaded view
|

Re: JVM crash using jogl 2.0 rc11

gouessej
Administrator
I'm looking at your log file...

Are you sure you enabled all logs? Please look at that.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: JVM crash using jogl 2.0 rc11

Tammy
In reply to this post by Tammy
Sorry, ok I will run the jogl runtime debug with the latest aggregated build and post the test_dbg.log. Is there anything else you require at this time? I also have the dxDiag information from the machine.

Thanks,
Tammy
Reply | Threaded
Open this post in threaded view
|

Re: JVM crash using jogl 2.0 rc11

Xerxes Rånby
It would help to know how to reproduce the test.
it is good if you can provide us instructions how to reproduce the bug
thus we need to know the application jnlp url you use to trigger this bug.

best is to have a jogl junit test that clearly demonstrate the issue, this allows the jogamp team to test for the bug on all platforms we support by our test infrastructure.
you can use one of the existing jogl junit tests as a template and add the lines of code needed to trigger the issue.

thank you
Reply | Threaded
Open this post in threaded view
|

Re: JVM crash using jogl 2.0 rc11

gouessej
Administrator
In reply to this post by Tammy
Please give the version number of the driver and the detailed information about the graphics card, I just see that it's an Nvidia one.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: JVM crash using jogl 2.0 rc11

Tammy
Ok I posted/attached to the bug:

1. the test_dbg.log
2. the driver version and driver information from the dxDiag.
3. I will create a jogl unit test that recreates the issue and post that shortly.

Thanks,
Tammy
Reply | Threaded
Open this post in threaded view
|

Re: JVM crash using jogl 2.0 rc11

Tammy
In reply to this post by Xerxes Rånby
I believe the error occurs when the createOffscreenDrawable method is called:

The code looks something like this:
        GLProfile defaultOpenGLProfile = GLProfile.getDefault();
        GLCapabilities defaultCapabilities = new GLCapabilities(defaultOpenGLProfile);
        GLDrawableFactory defaultDrawableFactory = GLDrawableFactory.getFactory(defaultOpenGLProfile);
        GLOffscreenAutoDrawable autoDrawable = defaultDrawableFactory.createOffscreenAutoDrawable(defaultGraphicsDevice, defaultCapabilities, null, 2, 2, null);

Can you point me to a junit test? I have downloaded the aggregated 7z file for all platforms and unzipped the jogl-java-src.zip but I am not seeing junit tests in there? Perhaps I am missing them?

Thanks,
Tammy
Reply | Threaded
Open this post in threaded view
|

Re: JVM crash using jogl 2.0 rc11

Wade Walker
Administrator
You can see the tests on GitHub:
https://github.com/sgothel/jogl/tree/master/src/test/com/jogamp/opengl/test/junit/jogl

Then you can use the search feature to find tests that do a createOffscreenDrawable (it looks like there are a few choices):
https://github.com/sgothel/jogl/search?q=createOffscreenDrawable&ref=cmdform&type=Code