Consistent jogl crash when app closes. suggestions?

I have been experiencing a consistent crash of jogl when shutting down my app. This has existed throughout my development, and I can’t for the life of me figure out what is causing it. If anybody has a suggestion, I would appreciate it. I am using 1.6.0_04 on Windows XP. In JOGL I am using a GLCanvas. Info is below.

An unexpected error has been detected by Java Runtime Environment:

EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x13d08f6f, pid=4092, tid=1884

Java VM: Java HotSpot™ Client VM (10.0-b19 mixed mode, sharing windows-x86)

Problematic frame:

C [MTXOGL.DLL+0x8f6f]

If you would like to submit a bug report, please visit:

http://java.sun.com/webapps/bugreport/crash.jsp

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

Current thread (0x02a3c000): VMThread [stack: 0x02b20000,0x02b70000] [id=1884]

siginfo: ExceptionCode=0xc0000005, reading address 0x00000000

Registers:
EAX=0x00000000, EBX=0x00000000, ECX=0x00000018, EDX=0x00000e70
ESP=0x02b6f990, EBP=0x145ad1c0, ESI=0x1426b300, EDI=0x14274844
EIP=0x13d08f6f, EFLAGS=0x00010216

Top of Stack: (sp=0x02b6f990)
0x02b6f990: 0642eba1 02b6f9f0 1426b300 145aeee8
0x02b6f9a0: 13d00000 1426b300 142420fc 145625c8
0x02b6f9b0: 13d19b55 145625c8 02b6f9fc 14126c4a
0x02b6f9c0: 0000000c 13d128b4 145aee88 00000001
0x02b6f9d0: 13d2ecf4 00000001 0642ebe9 00000000
0x02b6f9e0: 00000000 02b6fa54 142420fc 14242178
0x02b6f9f0: 00000000 145aeee8 00000001 02b6fa44
0x02b6fa00: 14128e18 00000000 13d0f133 00000001

Instructions: (pc=0x13d08f6f)
0x13d08f5f: 8b 15 48 37 1f 14 51 52 e8 b4 17 32 00 83 c4 08
0x13d08f6f: 39 18 74 07 8b ce e8 16 a5 ff ff 8b ae 70 7b 00

Stack: [0x02b20000,0x02b70000], sp=0x02b6f990, free space=318k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [MTXOGL.DLL+0x8f6f]

VM_Operation (0x0317f548): Exit, mode: safepoint, requested by thread 0x02df4800

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

Java Threads: ( => current thread )
0x03606c00 JavaThread “Thread-5” [_thread_blocked, id=2448, stack(0x15fb0000,0x16000000)]
0x03469400 JavaThread “Thread-4” [_thread_blocked, id=2444, stack(0x15f60000,0x15fb0000)]
0x02f59c00 JavaThread “Thread-3” [_thread_blocked, id=2180, stack(0x15f10000,0x15f60000)]
0x00375800 JavaThread “DestroyJavaVM” [_thread_blocked, id=1824, stack(0x003a0000,0x003f0000)]
0x02e46400 JavaThread “TimerQueue” daemon [_thread_blocked, id=2132, stack(0x03360000,0x033b0000)]
0x02df4800 JavaThread “AWT-EventQueue-0” [_thread_blocked, id=2076, stack(0x03130000,0x03180000)]
0x02dec800 JavaThread “AWT-Shutdown” [_thread_blocked, id=2116, stack(0x03010000,0x03060000)]
0x02deac00 JavaThread “Java2D Disposer” daemon [_thread_blocked, id=2092, stack(0x02fc0000,0x03010000)]
0x02a4dc00 JavaThread “Low Memory Detector” daemon [_thread_blocked, id=2004, stack(0x02d00000,0x02d50000)]
0x02a4ac00 JavaThread “CompilerThread0” daemon [_thread_blocked, id=1980, stack(0x02cb0000,0x02d00000)]
0x02a47000 JavaThread “Attach Listener” daemon [_thread_blocked, id=1976, stack(0x02c60000,0x02cb0000)]
0x02a46400 JavaThread “Signal Dispatcher” daemon [_thread_blocked, id=1296, stack(0x02c10000,0x02c60000)]
0x02a3e400 JavaThread “Finalizer” daemon [_thread_blocked, id=1932, stack(0x02bc0000,0x02c10000)]
0x02a3d400 JavaThread “Reference Handler” daemon [_thread_blocked, id=1928, stack(0x02b70000,0x02bc0000)]

Other Threads:
=>0x02a3c000 VMThread [stack: 0x02b20000,0x02b70000] [id=1884]

VM state:at safepoint (shutting down)

VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event])
[0x00375020/0x00001f18] Threads_lock - owner thread: 0x02a3c000

Heap
def new generation total 960K, used 245K [0x22960000, 0x22a60000, 0x22e40000)
eden space 896K, 27% used [0x22960000, 0x2299d030, 0x22a40000)
from space 64K, 1% used [0x22a50000, 0x22a50428, 0x22a60000)
to space 64K, 0% used [0x22a40000, 0x22a40000, 0x22a50000)
tenured generation total 4096K, used 2012K [0x22e40000, 0x23240000, 0x26960000)
the space 4096K, 49% used [0x22e40000, 0x23037040, 0x23037200, 0x23240000)
compacting perm gen total 12288K, used 3365K [0x26960000, 0x27560000, 0x2a960000)
the space 12288K, 27% used [0x26960000, 0x26ca9510, 0x26ca9600, 0x27560000)
ro space 8192K, 62% used [0x2a960000, 0x2ae628e8, 0x2ae62a00, 0x2b160000)
rw space 12288K, 52% used [0x2b160000, 0x2b7a85d8, 0x2b7a8600, 0x2bd60000)

Dynamic libraries:
0x00400000 - 0x00423000 C:\Program Files\Java\jre1.6.0_04\bin\javaw.exe
0x7c900000 - 0x7c9b0000 C:\WINDOWS\system32\ntdll.dll
0x7c800000 - 0x7c8f5000 C:\WINDOWS\system32\kernel32.dll
0x77dd0000 - 0x77e6b000 C:\WINDOWS\system32\ADVAPI32.dll
0x77e70000 - 0x77f01000 C:\WINDOWS\system32\RPCRT4.dll
0x7e410000 - 0x7e4a0000 C:\WINDOWS\system32\USER32.dll
0x77f10000 - 0x77f57000 C:\WINDOWS\system32\GDI32.dll
0x76390000 - 0x763ad000 C:\WINDOWS\system32\IMM32.DLL
0x7c340000 - 0x7c396000 C:\Program Files\Java\jre1.6.0_04\bin\msvcr71.dll
0x6d7c0000 - 0x6da10000 C:\Program Files\Java\jre1.6.0_04\bin\client\jvm.dll
0x76b40000 - 0x76b6d000 C:\WINDOWS\system32\WINMM.dll
0x6d270000 - 0x6d278000 C:\Program Files\Java\jre1.6.0_04\bin\hpi.dll
0x76bf0000 - 0x76bfb000 C:\WINDOWS\system32\PSAPI.DLL
0x6d770000 - 0x6d77c000 C:\Program Files\Java\jre1.6.0_04\bin\verify.dll
0x6d310000 - 0x6d32f000 C:\Program Files\Java\jre1.6.0_04\bin\java.dll
0x6d7b0000 - 0x6d7bf000 C:\Program Files\Java\jre1.6.0_04\bin\zip.dll
0x6d000000 - 0x6d12e000 C:\Program Files\Java\jre1.6.0_04\bin\awt.dll
0x73000000 - 0x73026000 C:\WINDOWS\system32\WINSPOOL.DRV
0x77c10000 - 0x77c68000 C:\WINDOWS\system32\msvcrt.dll
0x774e0000 - 0x7761d000 C:\WINDOWS\system32\ole32.dll
0x73760000 - 0x737a9000 C:\WINDOWS\system32\ddraw.dll
0x73bc0000 - 0x73bc6000 C:\WINDOWS\system32\DCIMAN32.dll
0x6d210000 - 0x6d263000 C:\Program Files\Java\jre1.6.0_04\bin\fontmanager.dll
0x74720000 - 0x7476b000 C:\WINDOWS\system32\MSCTF.dll
0x755c0000 - 0x755ee000 C:\WINDOWS\system32\msctfime.ime
0x7c9c0000 - 0x7d1d7000 C:\WINDOWS\system32\shell32.dll
0x77f60000 - 0x77fd6000 C:\WINDOWS\system32\SHLWAPI.dll
0x773d0000 - 0x774d3000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\comctl32.dll
0x5d090000 - 0x5d12a000 C:\WINDOWS\system32\comctl32.dll
0x605d0000 - 0x605d9000 C:\WINDOWS\system32\mslbui.dll
0x6d570000 - 0x6d583000 C:\Program Files\Java\jre1.6.0_04\bin\net.dll
0x71ab0000 - 0x71ac7000 C:\WINDOWS\system32\WS2_32.dll
0x71aa0000 - 0x71aa8000 C:\WINDOWS\system32\WS2HELP.dll
0x6d590000 - 0x6d599000 C:\Program Files\Java\jre1.6.0_04\bin\nio.dll
0x031d0000 - 0x031df000 C:\Program Files\Linksys\Bluetooth Utility\btkeyind.dll
0x033b0000 - 0x033fd000 C:\Program Files\Java\jre1.6.0_04\lib\ext\jogl.dll
0x5ed00000 - 0x5edcc000 C:\WINDOWS\system32\OPENGL32.dll
0x68b20000 - 0x68b40000 C:\WINDOWS\system32\GLU32.dll
0x6d150000 - 0x6d17f000 C:\Program Files\Java\jre1.6.0_04\bin\cmm.dll
0x13b20000 - 0x13b86000 C:\Documents and Settings\garths\Local Settings\Temp\bluecove_garths_0\bluecove.dll
0x77c00000 - 0x77c08000 C:\WINDOWS\system32\VERSION.dll
0x71a50000 - 0x71a8f000 C:\WINDOWS\system32\mswsock.dll
0x662b0000 - 0x66308000 C:\WINDOWS\system32\hnetcfg.dll
0x751d0000 - 0x751ee000 C:\WINDOWS\System32\wshBth.dll
0x77920000 - 0x77a13000 C:\WINDOWS\system32\SETUPAPI.dll
0x13bd0000 - 0x13c9b000 C:\WINDOWS\system32\wbtapi.dll
0x74ae0000 - 0x74ae7000 C:\WINDOWS\system32\CFGMGR32.dll
0x7d1e0000 - 0x7d49e000 C:\WINDOWS\system32\msi.dll
0x73dd0000 - 0x73ece000 C:\WINDOWS\system32\MFC42.DLL
0x77120000 - 0x771ab000 C:\WINDOWS\system32\OLEAUT32.dll
0x76080000 - 0x760e5000 C:\WINDOWS\system32\MSVCP60.dll
0x6d340000 - 0x6d346000 C:\Program Files\Java\jre1.6.0_04\bin\jawt.dll
0x13cf0000 - 0x13cf5000 C:\Program Files\Java\jre1.6.0_04\lib\ext\jogl_awt.dll
0x13d00000 - 0x14231000 C:\WINDOWS\system32\MTXOGL.DLL
0x76fd0000 - 0x7704f000 C:\WINDOWS\system32\CLBCATQ.DLL
0x77050000 - 0x77115000 C:\WINDOWS\system32\COMRes.dll
0x20000000 - 0x202c5000 C:\WINDOWS\system32\xpsp2res.dll
0x75e90000 - 0x75f40000 C:\WINDOWS\system32\SXS.DLL

VM Arguments:
java_command: edu.ubc.cs.experiment.Experiment
Launcher Type: SUN_STANDARD

Environment Variables:
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_04
CLASSPATH=.;c:\MOCHA.zip;C:\Program Files\Java\jre1.6.0_03\lib\ext\QTJava.zip
PATH=C:\Program Files\Java\jre1.6.0_04\bin\client;C:\Program Files\Java\jre1.6.0_04\bin;c:\local\watcom-1.3\binnt;c:\local\watcom-1.3\binw;c:\local\texmf\miktex\bin;c:\local\perl\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\wbem;c:\program files\securecrt;C:\Program Files\MATLAB\R2007a\bin;C:\Program Files\MATLAB\R2007a\bin\win32;C:\Program Files\Intel\DMIX;C:\Program Files\MySQL\MySQL Server 4.1\bin;C:\Program Files\QuickTime\QTSystem;C:\Program Files\maven\bin;C:\Program Files\Java\jdk1.6.0_04/bin
USERNAME=garths
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 15 Model 4 Stepping 3, GenuineIntel

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

OS: Windows XP Build 2600 Service Pack 2

CPU:total 2 (1 cores per cpu, 2 threads per core) family 15 model 4 stepping 3, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ht

Memory: 4k page, physical 1046572k(405096k free), swap 2516900k(1963780k free)

vm_info: Java HotSpot™ Client VM (10.0-b19) for windows-x86 JRE (1.6.0_04-b12), built on Dec 14 2007 00:51:20 by “java_re” with MS VC++ 7.1

time: Fri Feb 15 18:16:47 2008
elapsed time: 40 seconds

I found another thread from 2005 discussing somethign similar. I tried the workaround of passing:

-DJOGL_SINGLE_THREADED_WORKAROUND=true

but it did not work. Is this still a known issue?

you can post thesource code of your “Frame”?

This is clearly a bug in the graphics driver as the crash is occurring on the thread calling exit(), and this thread never did any OpenGL-related work. You may be able to work around it by trying to cooperatively stop all OpenGL rendering before exiting the program and possibly by trying to clean up resources (calling dispose() on your top-level windows, at least).

Calling dispose() worked! I have no idea why, but I’m not going to complain.

Thanks,
Garth