Java Fatal error on exit.

Started by Wolftein, February 25, 2010, 16:01:44

Previous topic - Next topic

Wolftein

#
# An unexpected error has been detected by Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0db7c059, pid=196, tid=1800
#
# Java VM: Java HotSpot(TM) Client VM (11.3-b02 mixed mode windows-x86)
# Problematic frame:
# C  [OpenAL32.dll+0xc059]
#
# 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 (0x0abf5400):  VMThread [stack: 0x0ac80000,0x0acd0000] [id=1800]

siginfo: ExceptionCode=0xc0000005, reading address 0x0dccc018

Registers:
EAX=0x0dccc018, EBX=0x0db70000, ECX=0x0dcb29f8, EDX=0x00000000
ESP=0x0accf9f4, EBP=0x0accfa50, ESI=0x0dcb29d8, EDI=0x0dcb29a8
EIP=0x0db7c059, EFLAGS=0x00010202

Top of Stack: (sp=0x0accf9f4)
0x0accf9f4:   00000001 0dcb29a8 0db76db2 0dcb29a8
0x0accfa04:   00000000 0db76dee 0dcb29a8 0db76e1f
0x0accfa14:   0db80328 0db70000 00000000 00000001
0x0accfa24:   ec3cbe2f 00000000 0accfa70 001b3f90
0x0accfa34:   00000001 0accfa24 0accf608 0accfaf0
0x0accfa44:   0db81ff0 eb49a24f 00000000 0accfa5c
0x0accfa54:   0db803d0 0db70000 0accfa7c 7c90118a
0x0accfa64:   0db70000 00000000 00000001 001b3f90

Instructions: (pc=0x0db7c059)
0x0db7c049:   c7 46 0c 01 00 00 00 e8 4f f0 ff ff 8b 46 08 59
0x0db7c059:   8b 08 50 ff 51 08 8b 46 04 85 c0 74 06 8b 08 50


Stack: [0x0ac80000,0x0acd0000],  sp=0x0accf9f4,  free space=318k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [OpenAL32.dll+0xc059]
C  [OpenAL32.dll+0x103d0]
C  [ntdll.dll+0x118a]
C  [ntdll.dll+0x23ada]
C  [kernel32.dll+0x1caae]
C  [kernel32.dll+0x1cb26]
C  [msvcr71.dll+0x8d04]

VM_Operation (0x00a2fb68): Exit, mode: safepoint, requested by thread 0x002b7800


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

Java Threads: ( => current thread )
  0x0ef39c00 JavaThread "AWT-Shutdown" [_thread_blocked, id=1304, stack(0x0e430000,0x0e480000)]
  0x0b071400 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=952, stack(0x0e060000,0x0e0b0000)]
  0x0ac16800 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=2632, stack(0x0ae60000,0x0aeb0000)]
  0x0ac10400 JavaThread "CompilerThread0" daemon [_thread_blocked, id=512, stack(0x0ae10000,0x0ae60000)]
  0x0ac0ec00 JavaThread "Attach Listener" daemon [_thread_blocked, id=2100, stack(0x0adc0000,0x0ae10000)]
  0x0abfd400 JavaThread "Finalizer" daemon [_thread_blocked, id=1868, stack(0x0ad20000,0x0ad70000)]
  0x0abf8c00 JavaThread "Reference Handler" daemon [_thread_blocked, id=3804, stack(0x0acd0000,0x0ad20000)]
  0x002b7800 JavaThread "main" [_thread_blocked, id=2540, stack(0x009e0000,0x00a30000)]

Other Threads:
=>0x0abf5400 VMThread [stack: 0x0ac80000,0x0acd0000] [id=1800]

VM state:at safepoint (shutting down)

VM Mutex/Monitor currently owned by a thread:  ([mutex/lock_event])
[0x002b6b38] UNKNOWN - owner thread: 0x0abf5400

Heap
def new generation   total 2688K, used 979K [0x02ae0000, 0x02dc0000, 0x02fc0000)
  eden space 2432K,  40% used [0x02ae0000, 0x02bd4d68, 0x02d40000)
  from space 256K,   0% used [0x02d80000, 0x02d80078, 0x02dc0000)
  to   space 256K,   0% used [0x02d40000, 0x02d40000, 0x02d80000)
tenured generation   total 35068K, used 29231K [0x02fc0000, 0x051ff000, 0x06ae0000)
   the space 35068K,  83% used [0x02fc0000, 0x04c4bf88, 0x04c4c000, 0x051ff000)
compacting perm gen  total 12288K, used 6082K [0x06ae0000, 0x076e0000, 0x0aae0000)
   the space 12288K,  49% used [0x06ae0000, 0x070d0a30, 0x070d0c00, 0x076e0000)
No shared spaces configured.

Dynamic libraries:
0x00400000 - 0x00424000    C:\Program Files\Java\jdk1.6.0_13\bin\java.exe
0x7c900000 - 0x7c9b2000    C:\WINDOWS\system32\ntdll.dll
0x7c800000 - 0x7c8f6000    C:\WINDOWS\system32\kernel32.dll
0x77dd0000 - 0x77e6b000    C:\WINDOWS\system32\ADVAPI32.dll
0x77e70000 - 0x77f02000    C:\WINDOWS\system32\RPCRT4.dll
0x77fe0000 - 0x77ff1000    C:\WINDOWS\system32\Secur32.dll
0x7c340000 - 0x7c396000    C:\Program Files\Java\jdk1.6.0_13\jre\bin\msvcr71.dll
0x6d8b0000 - 0x6db06000    C:\Program Files\Java\jdk1.6.0_13\jre\bin\client\jvm.dll
0x7e410000 - 0x7e4a1000    C:\WINDOWS\system32\USER32.dll
0x77f10000 - 0x77f59000    C:\WINDOWS\system32\GDI32.dll
0x76b40000 - 0x76b6d000    C:\WINDOWS\system32\WINMM.dll
0x76390000 - 0x763ad000    C:\WINDOWS\system32\IMM32.DLL
0x629c0000 - 0x629c9000    C:\WINDOWS\system32\LPK.DLL
0x74d90000 - 0x74dfb000    C:\WINDOWS\system32\USP10.dll
0x6d820000 - 0x6d833000    C:\PROGRA~1\KASPER~1\KASPER~1\mzvkbd.dll
0x6d840000 - 0x6d853000    C:\PROGRA~1\KASPER~1\KASPER~1\mzvkbd3.dll
0x6d4a0000 - 0x6d4a6000    C:\PROGRA~1\KASPER~1\KASPER~1\kloehk.dll
0x6d340000 - 0x6d348000    C:\Program Files\Java\jdk1.6.0_13\jre\bin\hpi.dll
0x76bf0000 - 0x76bfb000    C:\WINDOWS\system32\PSAPI.DLL
0x6d860000 - 0x6d86c000    C:\Program Files\Java\jdk1.6.0_13\jre\bin\verify.dll
0x6d3e0000 - 0x6d3ff000    C:\Program Files\Java\jdk1.6.0_13\jre\bin\java.dll
0x6d8a0000 - 0x6d8af000    C:\Program Files\Java\jdk1.6.0_13\jre\bin\zip.dll
0x6d0b0000 - 0x6d1fa000    C:\Program Files\Java\jdk1.6.0_13\jre\bin\awt.dll
0x73000000 - 0x73026000    C:\WINDOWS\system32\WINSPOOL.DRV
0x77c10000 - 0x77c68000    C:\WINDOWS\system32\msvcrt.dll
0x774e0000 - 0x7761d000    C:\WINDOWS\system32\ole32.dll
0x773d0000 - 0x774d3000    C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\comctl32.dll
0x77f60000 - 0x77fd6000    C:\WINDOWS\system32\SHLWAPI.dll
0x10000000 - 0x1003f000    C:\Documents and Settings\Ramiro Alvarez\My Documents\NetBeansProjects\Blisse-Games\lwjgl.dll
0x5ed00000 - 0x5edcc000    C:\WINDOWS\system32\OPENGL32.dll
0x68b20000 - 0x68b40000    C:\WINDOWS\system32\GLU32.dll
0x73760000 - 0x737ab000    C:\WINDOWS\system32\DDRAW.dll
0x73bc0000 - 0x73bc6000    C:\WINDOWS\system32\DCIMAN32.dll
0x77c00000 - 0x77c08000    C:\WINDOWS\system32\VERSION.dll
0x5ad70000 - 0x5ada8000    C:\WINDOWS\system32\uxtheme.dll
0x74720000 - 0x7476c000    C:\WINDOWS\system32\MSCTF.dll
0x755c0000 - 0x755ee000    C:\WINDOWS\system32\msctfime.ime
0x69030000 - 0x69bcc000    C:\WINDOWS\system32\atioglxx.dll
0x71ab0000 - 0x71ac7000    C:\WINDOWS\system32\WS2_32.dll
0x71aa0000 - 0x71aa8000    C:\WINDOWS\system32\WS2HELP.dll
0x0b2f0000 - 0x0b30f000    C:\WINDOWS\system32\atiadlxx.dll
0x77920000 - 0x77a13000    C:\WINDOWS\system32\SETUPAPI.dll
0x78130000 - 0x781cb000    C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.3053_x-ww_b80fa8ca\MSVCR80.dll
0x73b30000 - 0x73b45000    C:\WINDOWS\system32\mscms.dll
0x66e90000 - 0x66ed1000    C:\WINDOWS\system32\icm32.dll
0x0db70000 - 0x0dc99000    C:\Documents and Settings\Ramiro Alvarez\My Documents\NetBeansProjects\Blisse-Games\OpenAL32.dll
0x7c9c0000 - 0x7d1d7000    C:\WINDOWS\system32\SHELL32.dll
0x73f10000 - 0x73f6c000    C:\WINDOWS\system32\dsound.dll
0x76c30000 - 0x76c5e000    C:\WINDOWS\system32\WINTRUST.dll
0x77a80000 - 0x77b15000    C:\WINDOWS\system32\CRYPT32.dll
0x77b20000 - 0x77b32000    C:\WINDOWS\system32\MSASN1.dll
0x76c90000 - 0x76cb8000    C:\WINDOWS\system32\IMAGEHLP.dll
0x72d20000 - 0x72d29000    C:\WINDOWS\system32\wdmaud.drv
0x72d10000 - 0x72d18000    C:\WINDOWS\system32\msacm32.drv
0x77be0000 - 0x77bf5000    C:\WINDOWS\system32\MSACM32.dll
0x77bd0000 - 0x77bd7000    C:\WINDOWS\system32\midimap.dll
0x73ee0000 - 0x73ee4000    C:\WINDOWS\system32\KsUser.dll
0x6d2e0000 - 0x6d334000    C:\Program Files\Java\jdk1.6.0_13\jre\bin\fontmanager.dll
0x6d6c0000 - 0x6d6d3000    C:\Program Files\Java\jdk1.6.0_13\jre\bin\net.dll
0x6d6e0000 - 0x6d6e9000    C:\Program Files\Java\jdk1.6.0_13\jre\bin\nio.dll
0x77120000 - 0x771ab000    C:\WINDOWS\system32\OLEAUT32.DLL

VM Arguments:
java_command: blissegames.Main
Launcher Type: SUN_STANDARD

Environment Variables:
PATH=C:\Program Files\Intel\Compiler\11.0\ia32\vc9\bin;C:\Program Files\Intel\Compiler\11.0\061\cpp\lib\Intel64;C:\Program Files\Intel\Compiler\11.0\061\cpp\mkl\ia32\bin;C:\Program Files\Intel\VTune\CGGlbCache;C:\Program Files\Intel\VTune\Analyzer\Bin;C:\Program Files\Intel\VTune\Shared\Bin;C:\Program Files\Intel\Compiler\11.0\ipp\ia32\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static
USERNAME=Cristina Medina
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 15 Model 36 Stepping 2, AuthenticAMD



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

OS: Windows XP Build 2600 Service Pack 3

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

Memory: 4k page, physical 1570976k(775292k free), swap 3505644k(2924516k free)

vm_info: Java HotSpot(TM) Client VM (11.3-b02) for windows-x86 JRE (1.6.0_13-b03), built on Mar  9 2009 01:15:24 by "java_re" with MS VC++ 7.1

time: Thu Feb 25 12:59:13 2010
elapsed time: 9 seconds


princec

Some information you might have provided before being asked... which version of LWJGL is this? Is it reproducible always? Does it occur with any other versions?

Cas :)

Wolftein

Oh sry i forgot :D.

1 of 5 pc works fine.
4 of 5 pc i always get this error. I Believe that with other version the error is reproduced too.

LWJGL Version: 2.3
Opengl Version: 2.1.8543 Release

Wolftein

Well my bad, i fixed it :D. My AL.destroy(); is in the class finalizer and java wasn't calling it, so i put a .gc() to force it.

princec

Arrgh! Never use finalizers!

Cas :)

kappa

Quote from: princec on February 25, 2010, 17:05:35
Arrgh! Never use finalizers!

Cas :)

huh? just curious as to why you'd say that?

Matzon

Quote from: javalwjgl on February 25, 2010, 19:23:22
Quote from: princec on February 25, 2010, 17:05:35
Arrgh! Never use finalizers!

Cas :)

huh? just curious as to why you'd say that?

+1 to Cas

finalizers are unpredictable and will only be called when you gc'ing occurs. If you make a mess - clean up yourself, don't rely on someone else.

princec

Not even then! They occur at an indeterminate random future point, after GC has cleared the last reference away!

The mechanism you are looking for is ReferenceQueues.

Cas :)

Rene

Quote from: princec on February 26, 2010, 09:25:44
Not even then! They occur at an indeterminate random future point, after GC has cleared the last reference away!
Personally, I can recommend to use finalizers as a backup unload mechanism for stuff that has a OpenGL counterpart. VBO's, Textures and Shaders for example.

In my engine, if finalize() is called, it checks if the resource is still loaded in OpenGL (handle > 0). If so, it adds the handle to a list with garbage collected buffers or whatever the resource is. The Renderer checks the lists before drawing a scene and if there is anything in it, it unloads the resources. Unloading can't be done in finalize() because it needs to be done on the OpenGL Thread.

In this way leaking resources is less likely. Of course, it is still advisable to unload the resources yourself because of the unpredictable nature of finalization.
When I am king, they shall not have bread and shelter only, but also teachings out of books, for a full belly is little worth where the mind is starved - Mark Twain