Crashes when exiting on Linux

Hi, JOGL craches when exiting on Linux. I’m using this animation method.


public void run() {

                canvas.setRenderingThread(Thread.currentThread());
                canvas.setNoAutoRedrawMode(true);

                while (isRun()) {

                        canvas.display();
                        if (isSleepEnabled()) {

                                try {
                                        Thread.sleep(getSleepTime());
                                } catch (InterruptedException e) {
                                        sleepInterrupted(e);
                                }

                        }else{
                                Thread.yield();
                        }

                }

                frame.dispose();
                System.out.println("Goodbye.");
                if(!isSoftExit()){
                        System.exit(0);
                }
        }

If I don’t issue the System.exit(0) at the end it works… but then the application won’t terminate in all IDEs (read Eclipse :slight_smile: )

Am I doing something wrong or is this just a feature :wink:

// Tomas

BTW. I’m running Ubuntu and NVIDIA. Have had the same expirience on Debian .

This may be completely unrelated to your problem, but my XP box reboots when I call animator.stop!

Also using NVidia. I suppose my point is that I think NVidia’s drivers are not playing nice with jogl at the moment. On any of the machines in my house with ATI cards, all is well.

…so for the moment, I just do all my dev on my mac or my bsd box (both have ati cards), and if I have to run it on my PC, I just don’t call animator.stop :wink:

I think there is a bug in JOGL’s context destruction on X11 platforms. There is an issue filed (#124) which we are currently investigating which looks like there is inadequate locking around the glXDestroyContext call. However, people have reported crashes upon exit on Linux with NVidia cards before that appear to be driver-related. Make sure you are running a recent set of drivers.

The reboot on exit on Windows XP boxes has been reported before and is clearly a driver bug but it isn’t clear to me whether JOGL is doing anything illegal according to the OpenGL and WGL specifications. Someone else on the forums reported that the problem went away after upgrading to an (unofficial) later driver build.

Then I consider it to be a feature :wink:

Have you tried calling setRenderingThread(null) before frame.dispose()?

Hi Ken,

this doesn’t help.

[quote]Have you tried calling setRenderingThread(null) before frame.dispose()?
[/quote]
I use the following workaround in Jake2.


if (frame != null) {
  // this is very important to change the GL context
  if (canvas != null) {
         canvas.setVisible(false);
         frame.remove(canvas);
         canvas = null;
  }
  frame.dispose();
} 

The frame.dispose() should handle this correctly but it doesn’t.

I hope this will help a little bit.

bye
Carsten

Setting to null dosen’t help. I’ll try Carsten approach and see what happens.

Thanks
// Tomas

I had the same problem (XP booting) and it went away by updating drivers. I tried lots of things but none worked. I had to assume it to be a driver bug (which nVidia has alot).

  • nGoon

I can report a similar problem the other way round. I am developing a jogl application on my dell inspiron 8200 notebook which has a nvidia graphics card. Everything runs fine here with jogl 1.0 and 1.1b7.
But the app crashes Windows XP on exit. It doesn’t depend on animator.stop(). It just kills the machine if I press ctrl-c in the cmd shell. The only way to kill the application without rebooting is to kill it via the task manager.
On the Windows XP machines there are Matrox parhelia triple- and quadhead cards doing the job.

Is there an open issues depending on multihead? Or is a similar problem known for matrox graphics drivers like it is for nvidias?

There is no way a user application should be able to kill the OS so obviously there is some sort of bug in the drivers. The question is what JOGL is doing to trigger that bug. Please try the forthcoming 1.1 b08 (should be out later today) and specify -DJOGL_SINGLE_THREADED_WORKAROUND=true on the command line; let us know whether that works around the problem. You should be able to get similar results out of 1.1 b07 if you specify -DATI_WORKAROUND=true, though there are bugs in 1.1 b07 that may prevent the workaround from functioning as intended.

With 1.1b8 and the -DJOGL_SINGLE_THREADED_WORKAROUND=true
I noticed only slightly differences which are not 100% reproducable. The test of hitting ctrl-c reboots the machine.
Using ESC to utilize my own exit handler I get only a virtual machine error. Everytime I exit via ESC there is an error in mtxogl.dll.
When hitting ctrl-c and getting a glimpse of the blue screen before the machine reboots there is a notification about a failure in mxparh.dll.

Is there any additional information I could provide?

Could you run with 1.5 and post the error log for the case where you hit escape and the JVM (but not the entire machine) crashes?

I did all tests with jdk 1.5.0_01.
There is one possibility to prevent the access violation. If I turn down the hardware acceleration in display driver->advanced->problem… (I don’t know how this called in english exactly) there is no such excecption and the program exits normal. On the tab I described there is a slider where you can adjust the amount of hardware acceleration. On the left side there is no acceleration. I can put the slider one position to the right (nearly no acceleration). With this setting no exception occurs. On the next position to the right the execption occurs.

The log you wanted when the virtual machine was crashing is this one:

An unexpected error has been detected by HotSpot Virtual Machine:

EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x068fae38, pid=2208, tid=3020

Java VM: Java HotSpot™ Client VM (1.5.0_01-b08 mixed mode, sharing)

Problematic frame:

C [MTXOGL.DLL+0x1ae38]

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

Current thread (0x00a5d6b8): VMThread [id=3020]

siginfo: ExceptionCode=0xc0000005, reading address 0x00000000

Registers:
EAX=0x00000000, EBX=0x00000000, ECX=0x06c53970, EDX=0x00000001
ESP=0x009cfbf4, EBP=0x009cfc14, ESI=0x0f1c2b78, EDI=0x06c53970
EIP=0x068fae38, EFLAGS=0x00010206

Top of Stack: (sp=0x009cfbf4)
0x009cfbf4: 0f780580 0f1c2b78 06c522f0 06b8077f
0x009cfc04: 0f46d5f8 068ebc9b 0f46d5f8 06c522f0
0x009cfc14: 009cfc60 068e2064 0f735290 00000010
0x009cfc24: 00000002 00000001 0f1c2b78 068e3241
0x009cfc34: 00000000 0f1c2b78 068e0000 0f1c2b78
0x009cfc44: 068e0000 009cfc8c 06b8bbd2 0000000b
0x009cfc54: 068e7a6e 0edf9fb8 0f1c2b78 009cfcc4
0x009cfc64: 068f955c 00000002 00000000 00000000

Instructions: (pc=0x068fae38)
0x068fae28: 8b f9 64 a1 18 00 00 00 03 05 00 eb c0 06 8b 00
0x068fae38: 8b 30 85 f6 75 0b 5f 83 c8 ff 5e 8b e5 5d c2 10

Stack: [0x00990000,0x009d0000), sp=0x009cfbf4, free space=254k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [MTXOGL.DLL+0x1ae38]
C [MTXOGL.DLL+0x2064]
C [MTXOGL.DLL+0x1955c]
C [ntdll.dll+0x11a7]
C [ntdll.dll+0x23f31]
C [kernel32.dll+0x1ca3e]
C [kernel32.dll+0x1cab6]
C [MSVCRT.dll+0x29d45]
C [MSVCRT.dll+0x29e78]
C [MSVCRT.dll+0x29e90]
V [jvm.dll+0x118449]
V [jvm.dll+0x117887]
V [jvm.dll+0x117a27]
V [jvm.dll+0x1177bc]
C [MSVCRT.dll+0x2a3b0]
C [kernel32.dll+0xb50b]

VM_Operation (0x0689f634): exit, mode: safepoint, requested by thread 0x0304eed0

--------------- P R O C E S S ---------------

Java Threads: ( => current thread )
0x00035b60 JavaThread “DestroyJavaVM” [_thread_blocked, id=2152]
0x0304ecc0 JavaThread “Thread-6” [_thread_blocked, id=4084]
0x02f97568 JavaThread “Thread-5” [_thread_blocked, id=1936]
0x0304eed0 JavaThread “AWT-EventQueue-0” [_thread_blocked, id=2232]
0x02efeca8 JavaThread “AWT-Shutdown” [_thread_blocked, id=2216]
0x02efddc8 JavaThread “Java2D Disposer” daemon [_thread_blocked, id=1888]
0x02c95e88 JavaThread “Thread-0” [_thread_in_native, id=1068]
0x00a66148 JavaThread “Low Memory Detector” daemon [_thread_blocked, id=3284]
0x00a64d78 JavaThread “CompilerThread0” daemon [_thread_blocked, id=3024]
0x00a61438 JavaThread “Finalizer” daemon [_thread_blocked, id=3292]
0x00a5ff58 JavaThread “Reference Handler” daemon [_thread_blocked, id=3012]

Other Threads:
=>0x00a5d6b8 VMThread [id=3020]

VM state:at safepoint (shutting down)

VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event])
[0x000351b0/0x0000071c] Threads_lock - owner thread: 0x00a5d6b8

Heap
def new generation total 1152K, used 316K [0x22a60000, 0x22ba0000, 0x22f40000)
eden space 1024K, 18% used [0x22a60000, 0x22a8f2b0, 0x22b60000)
from space 128K, 100% used [0x22b60000, 0x22b80000, 0x22b80000)
to space 128K, 0% used [0x22b80000, 0x22b80000, 0x22ba0000)
tenured generation total 14556K, used 9797K [0x22f40000, 0x23d77000, 0x26a60000)
the space 14556K, 67% used [0x22f40000, 0x238d1770, 0x238d1800, 0x23d77000)
compacting perm gen total 8192K, used 2738K [0x26a60000, 0x27260000, 0x2aa60000)
the space 8192K, 33% used [0x26a60000, 0x26d0c928, 0x26d0ca00, 0x27260000)
ro space 8192K, 62% used [0x2aa60000, 0x2af67d30, 0x2af67e00, 0x2b260000)
rw space 12288K, 46% used [0x2b260000, 0x2b7ec8a0, 0x2b7eca00, 0x2be60000)

Dynamic libraries:
0x00400000 - 0x0040c000 C:\WINDOWS\system32\java.exe
0x7c910000 - 0x7c9c7000 C:\WINDOWS\system32\ntdll.dll
0x7c800000 - 0x7c906000 C:\WINDOWS\system32\kernel32.dll
0x77da0000 - 0x77e4a000 C:\WINDOWS\system32\ADVAPI32.dll
0x77e50000 - 0x77ee1000 C:\WINDOWS\system32\RPCRT4.dll
0x77be0000 - 0x77c38000 C:\WINDOWS\system32\MSVCRT.dll
0x6d640000 - 0x6d7c5000 C:\Programme\Java\jre1.5.0_01\bin\client\jvm.dll
0x77d10000 - 0x77da0000 C:\WINDOWS\system32\USER32.dll
0x77ef0000 - 0x77f36000 C:\WINDOWS\system32\GDI32.dll
0x76af0000 - 0x76b1e000 C:\WINDOWS\system32\WINMM.dll
0x6bd00000 - 0x6bd0d000 C:\WINDOWS\system32\SYNCOR11.DLL
0x6d280000 - 0x6d288000 C:\Programme\Java\jre1.5.0_01\bin\hpi.dll
0x76bb0000 - 0x76bbb000 C:\WINDOWS\system32\PSAPI.DLL
0x6d610000 - 0x6d61c000 C:\Programme\Java\jre1.5.0_01\bin\verify.dll
0x6d300000 - 0x6d31d000 C:\Programme\Java\jre1.5.0_01\bin\java.dll
0x6d630000 - 0x6d63f000 C:\Programme\Java\jre1.5.0_01\bin\zip.dll
0x6d4c0000 - 0x6d4d3000 C:\Programme\Java\jre1.5.0_01\bin\net.dll
0x71a10000 - 0x71a27000 C:\WINDOWS\system32\WS2_32.dll
0x71a00000 - 0x71a08000 C:\WINDOWS\system32\WS2HELP.dll
0x719b0000 - 0x719f0000 C:\WINDOWS\system32\mswsock.dll
0x66710000 - 0x66769000 C:\WINDOWS\system32\hnetcfg.dll
0x719f0000 - 0x719f8000 C:\WINDOWS\System32\wshtcpip.dll
0x76ee0000 - 0x76f07000 C:\WINDOWS\system32\DNSAPI.dll
0x76f70000 - 0x76f78000 C:\WINDOWS\System32\winrnr.dll
0x76f20000 - 0x76f4d000 C:\WINDOWS\system32\WLDAP32.dll
0x6d000000 - 0x6d166000 C:\Programme\Java\jre1.5.0_01\bin\awt.dll
0x72f70000 - 0x72f96000 C:\WINDOWS\system32\WINSPOOL.DRV
0x76330000 - 0x7634d000 C:\WINDOWS\system32\IMM32.dll
0x774b0000 - 0x775ec000 C:\WINDOWS\system32\ole32.dll
0x5b0f0000 - 0x5b128000 C:\WINDOWS\system32\uxtheme.dll
0x736d0000 - 0x73719000 C:\WINDOWS\system32\ddraw.dll
0x73b30000 - 0x73b36000 C:\WINDOWS\system32\DCIMAN32.dll
0x738b0000 - 0x73980000 C:\WINDOWS\system32\D3DIM700.DLL
0x6d240000 - 0x6d27d000 C:\Programme\Java\jre1.5.0_01\bin\fontmanager.dll
0x10000000 - 0x1000f000 C:\Programme\RealVNC\WinVNC\VNCHooks.dll
0x7c9d0000 - 0x7d1ee000 C:\WINDOWS\system32\shell32.dll
0x77f40000 - 0x77fb6000 C:\WINDOWS\system32\SHLWAPI.dll
0x773a0000 - 0x774a2000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2180_x-ww_
a84f1ff9\comctl32.dll
0x5d450000 - 0x5d4e7000 C:\WINDOWS\system32\comctl32.dll
0x6d360000 - 0x6d366000 C:\Programme\Java\jre1.5.0_01\bin\jawt.dll
0x067f0000 - 0x06850000 C:\Programme\Java\jre1.5.0_01\lib\ext\jogl.dll
0x5f0d0000 - 0x5f19c000 C:\WINDOWS\system32\OPENGL32.dll
0x68fc0000 - 0x68fe0000 C:\WINDOWS\system32\GLU32.dll
0x068e0000 - 0x06c43000 C:\WINDOWS\system32\MTXOGL.DLL
0x77bd0000 - 0x77bd8000 C:\WINDOWS\system32\VERSION.dll

VM Arguments:
jvm_args: -DJOGL_SINGLE_THREADED_WORKAROUND=true -Drawdata.config=conf/casino2.config
java_command: rawdata.Panel

Environment Variables:
PATH=C:\Perl\bin;C:\Programme\Compaq\Compaq Management Agents\Dmi\Win32\Bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\Syste
m32\Wbem
USERNAME=Administrator
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 9, GenuineIntel

--------------- S Y S T E M ---------------

OS: Windows XP Build 2600 Service Pack 2

CPU:total 1 family 15, cmov, cx8, fxsr, mmx, sse, sse2, ht

Memory: 4k page, physical 523760k(211524k free), swap 1280216k(1010884k free)

vm_info: Java HotSpot™ Client VM (1.5.0_01-b08) for windows-x86, built on Dec 6 2004 19:51:00 by “java_re” with MS VC++
6.0

[quote]Could you run with 1.5 and post the error log for the case where you hit escape and the JVM (but not the entire machine) crashes?
[/quote]
Ken, I get similar crashes of the JVM (1.5 on Windows XP) when using the Animator, although not always, and not always the same error. It seems that calling animator.stop() has no influence. On the other hand, the -DJOGL_SINGLE_THREADED_WORKAROUND=true flag cures the situation. When it crashes, I get two different types of errors:
1)

An unexpected error has been detected by HotSpot Virtual Machine:

EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x69621566, pid=3388, tid=3236

Java VM: Java HotSpot™ Client VM (1.5.0-b64 mixed mode)

Problematic frame:

C [nvoglnt.dll+0x121566]

An error report file with more information is saved as hs_err_pid3388.log

  1. Exception in thread “Thread-4” net.java.games.jogl.GLException: Error swapping buffers
    at net.java.games.jogl.impl.windows.WindowsOnscreenGLContext.swapBuffers(WindowsOnscreenGLContext.java:159)
    at net.java.games.jogl.impl.GLContext.invokeGL(GLContext.java:285)
    at net.java.games.jogl.impl.windows.WindowsOnscreenGLContext.invokeGL(WindowsOnscreenGLContext.java:79)
    at net.java.games.jogl.impl.GLContext.setRenderingThread(GLContext.java:421)
    at net.java.games.jogl.GLCanvas.setRenderingThread(GLCanvas.java:163)
    at net.java.games.jogl.Animator$1.run(Animator.java:123)
    at java.lang.Thread.run(Thread.java:595)

[quote]I get similar crashes of the JVM (1.5 on Windows XP) when using the Animator, although not always, and not always the same error.
[/quote]
An “error swapping buffers” exception upon exit if you hit Ctrl-C when an Animator is running is to be expected. The Ctrl-C causes the window to be torn down from underneath the Animator while it’s running. Most of the JOGL demos stop the animator and exit the process cooperatively to make sure no OpenGL drawing is occurring while the JVM exits.

For the first crash you see, does this occur with the JOGL demos as well when you don’t enable the single-threaded workaround? If so, what version of the NVidia drivers are you using, and what card do you have?

Well, I get these errors even when “stopping the official way”: I catch the JFrame windowClosing event, then execute animator.stop(); System.exit(0);

Card: Geforce 6800GT, driver:6.14.10.6693

I ran the “gears” demo, and (with the workaround disabed) I see only one type of crash:

An unexpected error has been detected by HotSpot Virtual Machine:

EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6966499a, pid=3764, tid=2408

Java VM: Java HotSpot™ Client VM (1.5.0-b64 mixed mode)

Problematic frame:

C [nvoglnt.dll+0x16499a]

Could you try the VertexProgRefract demo and try exiting it “cleanly”, i.e., by either closing the window or clicking it and pressing ‘Escape’ or ‘Q’? Does it crash in the same way? Could you post the complete HotSpot error log (including the backtrace of the crashing thread) if so?

I’m running the 66.93 drivers on my 5800 Ultra with no problems. I think there are bugs in the 6800 support because other 6800 users have reported similar crashes. Is there a later driver for you to try? if not, could you file a bug on NVidia’s web site?

When closing the window, the demo crashes (consistently) , but using Escape or Q there seems to be no problem! When I run my own program, the crashes occur in an “erratic” way: sometimes normal termination, sometimes an immediate crash, sometimes the window disappears, then reappears.
The 66.93 driver is the latest non-beta, for all Gforce cards.

The error log file (hs-err-pid3756.log) for the VertexProgRefract demo :

An unexpected error has been detected by HotSpot Virtual Machine:

EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6966499a, pid=3756, tid=3484

Java VM: Java HotSpot™ Client VM (1.5.0-b64 mixed mode)

Problematic frame:

C [nvoglnt.dll+0x16499a]

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

Current thread (0x0af625c8): JavaThread “Thread-3” [_thread_in_native, id=3484]

siginfo: ExceptionCode=0xc0000005, reading address 0x0cc30000

Registers:
EAX=0x00000000, EBX=0x00000000, ECX=0x0cc30000, EDX=0x699d7fe8
ESP=0x0b80f53c, EBP=0x00000001, ESI=0x0bdafc80, EDI=0x0ca70630
EIP=0x6966499a, EFLAGS=0x00010206

Top of Stack: (sp=0x0b80f53c)
0x0b80f53c: 00000084 00000260 0c1455ac 0bdafc80
0x0b80f54c: 00000000 00000000 00000000 00000000
0x0b80f55c: 69664828 0bdafc80 0bdafc80 69687692
0x0b80f56c: 0b885d00 00000000 0c9800c0 0cc2b410
0x0b80f57c: 00000084 00000000 00000004 00000000
0x0b80f58c: 6972b2ee 030553d0 0c9800c0 0b80f5b8
0x0b80f59c: 0af625c8 1000f301 000001fe 697cfc1b
0x0b80f5ac: 030553d0 030553d0 10004049 0b80f5d0

Instructions: (pc=0x6966499a)
0x6966498a: db 92 69 83 c4 04 3b fb 74 7b 8b 8f c4 00 00 00
0x6966499a: 8b 11 3b 97 c0 00 00 00 74 6b 38 5e 51 75 66 57

Stack: [0x0b7d0000,0x0b810000), sp=0x0b80f53c, free space=253k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [nvoglnt.dll+0x16499a]

[error occurred during error reporting, step 120, id 0xc0000005]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J net.java.games.jogl.impl.windows.WindowsGLImpl.glEnd()V
J net.java.games.jogl.impl.GLUquadricImpl.drawSphere(Lnet/java/games/jogl/GL;FII)V
J net.java.games.jogl.util.GLUT.glutSolidSphere(Lnet/java/games/jogl/GLU;DII)V
J demos.vertexProgRefract.VertexProgRefract$Listener.drawSkyBox(Lnet/java/games/jogl/GL;Lnet/java/games/jogl/GLU;)V
J demos.vertexProgRefract.VertexProgRefract$Listener.display(Lnet/java/games/jogl/GLDrawable;)V
J net.java.games.jogl.impl.GLDrawableHelper.display(Lnet/java/games/jogl/GLDrawable;)V
J net.java.games.jogl.GLCanvas$DisplayAction.run()V
J net.java.games.jogl.impl.GLContext.invokeGL(Ljava/lang/Runnable;ZLjava/lang/Runnable;)V
J net.java.games.jogl.impl.windows.WindowsOnscreenGLContext.invokeGL(Ljava/lang/Runnable;ZLjava/lang/Runnable;)V
J net.java.games.jogl.GLCanvas.withSingleThreadedWorkaroundDo(Ljava/lang/Runnable;Ljava/lang/Runnable;Z)V
J net.java.games.jogl.GLCanvas.display()V
v ~RuntimeStub::alignment_frame_return Runtime1 stub
j net.java.games.jogl.Animator$1.run()V+49
j java.lang.Thread.run()V+11
v ~StubRoutines::call_stub

--------------- P R O C E S S ---------------

Java Threads: ( => current thread )
0x0af72940 JavaThread “Thread-4” [_thread_in_native, id=4088]
0x00037c38 JavaThread “DestroyJavaVM” [_thread_blocked, id=3400]
=>0x0af625c8 JavaThread “Thread-3” [_thread_in_native, id=3484]
0x0afb5e48 JavaThread “AWT-EventQueue-0” [_thread_blocked, id=2168]
0x0afb3e68 JavaThread “AWT-Shutdown” [_thread_blocked, id=2160]
0x0af20668 JavaThread “Java2D Disposer” daemon [_thread_blocked, id=2132]
0x00a92358 JavaThread “Low Memory Detector” daemon [_thread_blocked, id=1452]
0x00a90f30 JavaThread “CompilerThread0” daemon [_thread_blocked, id=220]
0x00a902b8 JavaThread “Signal Dispatcher” daemon [_thread_blocked, id=3548]
0x00a878a8 JavaThread “Finalizer” daemon [_thread_blocked, id=3724]
0x00a47c50 JavaThread “Reference Handler” daemon [_thread_blocked, id=396]

Other Threads:
0x00a84af0 VMThread [id=2896]
0x00ab4eb0 WatcherThread [id=2056]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
def new generation total 576K, used 331K [0x02ad0000, 0x02b70000, 0x02fb0000)
eden space 512K, 62% used [0x02ad0000, 0x02b204f0, 0x02b50000)
from space 64K, 16% used [0x02b50000, 0x02b529d0, 0x02b60000)
to space 64K, 0% used [0x02b60000, 0x02b60000, 0x02b70000)
tenured generation total 2112K, used 1764K [0x02fb0000, 0x031c0000, 0x06ad0000)
the space 2112K, 83% used [0x02fb0000, 0x03169028, 0x03169200, 0x031c0000)
compacting perm gen total 8192K, used 7653K [0x06ad0000, 0x072d0000, 0x0aad0000)
the space 8192K, 93% used [0x06ad0000, 0x07249580, 0x07249600, 0x072d0000)
No shared spaces configured.

Dynamic libraries:
0x00400000 - 0x0040c000 E:\jdk1.5.0\bin\java.exe
0x7c900000 - 0x7c9b6000 C:\WINDOWS\system32\ntdll.dll
0x7c800000 - 0x7c8fe000 C:\WINDOWS\system32\kernel32.dll
0x77f40000 - 0x77feb000 C:\WINDOWS\system32\ADVAPI32.dll
0x77da0000 - 0x77e31000 C:\WINDOWS\system32\RPCRT4.dll
0x77be0000 - 0x77c38000 C:\WINDOWS\system32\MSVCRT.dll
0x6d640000 - 0x6d7c5000 E:\jdk1.5.0\jre\bin\client\jvm.dll
0x77d10000 - 0x77da0000 C:\WINDOWS\system32\USER32.dll
0x77e40000 - 0x77e86000 C:\WINDOWS\system32\GDI32.dll
0x76af0000 - 0x76b1e000 C:\WINDOWS\system32\WINMM.dll
0x6d280000 - 0x6d288000 E:\jdk1.5.0\jre\bin\hpi.dll
0x76bb0000 - 0x76bbb000 C:\WINDOWS\system32\PSAPI.DLL
0x6d610000 - 0x6d61c000 E:\jdk1.5.0\jre\bin\verify.dll
0x6d300000 - 0x6d31d000 E:\jdk1.5.0\jre\bin\java.dll
0x6d630000 - 0x6d63f000 E:\jdk1.5.0\jre\bin\zip.dll
0x6d000000 - 0x6d166000 E:\jdk1.5.0\jre\bin\awt.dll
0x72f70000 - 0x72f96000 C:\WINDOWS\system32\WINSPOOL.DRV
0x76330000 - 0x7634d000 C:\WINDOWS\system32\IMM32.dll
0x774a0000 - 0x775dd000 C:\WINDOWS\system32\ole32.dll
0x5b190000 - 0x5b1c8000 C:\WINDOWS\system32\uxtheme.dll
0x736d0000 - 0x73719000 C:\WINDOWS\system32\ddraw.dll
0x73b30000 - 0x73b36000 C:\WINDOWS\system32\DCIMAN32.dll
0x738b0000 - 0x73980000 C:\WINDOWS\system32\D3DIM700.DLL
0x6d240000 - 0x6d27d000 E:\jdk1.5.0\jre\bin\fontmanager.dll
0x6d360000 - 0x6d366000 E:\jdk1.5.0\jre\bin\jawt.dll
0x10000000 - 0x10060000 E:\jdk1.5.0\jre\bin\jogl.dll
0x5f160000 - 0x5f22c000 C:\WINDOWS\system32\OPENGL32.dll
0x5f400000 - 0x5f421000 C:\WINDOWS\system32\GLU32.dll
0x746a0000 - 0x746eb000 C:\WINDOWS\system32\MSCTF.dll
0x0b710000 - 0x0b720000 C:\WINDOWS\system32\ctagent.dll
0x69500000 - 0x69a26000 C:\WINDOWS\system32\nvoglnt.dll
0x6d190000 - 0x6d1bf000 E:\jdk1.5.0\jre\bin\cmm.dll
0x6d3c0000 - 0x6d3df000 E:\jdk1.5.0\jre\bin\jpeg.dll

VM Arguments:
jvm_args: -DJOGL_SINGLE_THREADED_WORKAROUND=false
java_command: demos.vertexProgRefract.VertexProgRefract

Environment Variables:
PATH=C:\Perl\bin;E:\java\bin;E:\cpp\bin;E:\jdk1.5.0\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\PROGRA~1\ULTRAE~1;C:\Program Files\Common Files\Autodesk Shared;C:\Program Files\backburner 2;E:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools;E:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin;E:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE;e:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE;e:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\Bin;e:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools;e:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\bin\prerelease;e:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\bin;bin;C:\Program Files\Microsoft Visual Studio\Common\Tools;C:\Program Files\Microsoft Visual Studio\Common\Tools\WINNT;C:\Program Files\Microsoft Visual Studio\VC98\BIN;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\BIN;E:\Program Files\NVIDIA Corporation\Cg\bin
USERNAME=Job
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 4, GenuineIntel

--------------- S Y S T E M ---------------

OS: Windows XP Build 2600 Service Pack 2

CPU:total 1 family 15, cmov, cx8, fxsr, mmx, sse, sse2, ht

Memory: 4k page, physical 523744k(152636k free), swap 1277064k(972320k free)

vm_info: Java HotSpot™ Client VM (1.5.0-b64) for windows-x86, built on Sep 15 2004 03:00:31 by “java_re” with MS VC++ 6.0

[quote]When closing the window, the demo crashes (consistently) , but using Escape or Q there seems to be no problem!
[/quote]
Thanks for this insight. The problem is that in 1.1 b08 we changed the semantics of Animator.stop(); if it is called from the AWT event queue thread, it returns immediately rather than waiting for the animation thread to terminate, because there might be hidden dependencies between the animation thread and the AWT event queue thread (in particular, in the case where a GLJPanel is being used). This was therefore a bug in the JOGL demos. I’ve just checked in fixes to all of them to run the windowClosing code on another thread, and it looks like this solves the problem. I can’t think of a way to make this work more automatically, unfortunately. Take a look at the revised jogl-demos code and see if that structure of calling Animator.stop() and System.exit() on a separate thread solves the crash on exit in your application.

To solve issues with crashes upon exit with Ctrl-C, you could add a ShutdownHook which calls Animator.stop().