Consistent JVM crash during shutdown

I’m running a very modest test program that simply draws a sphere and a cube and allows keyboard or mouse flying through the scene. When I shut the program down, the JVM always dies with this output:

Mar 15, 2011 2:46:31 PM com.jme3.system.lwjgl.LwjglCanvas$1 removeNotify
INFO: EDT: Sending re-init request..
Mar 15, 2011 2:46:31 PM com.jme3.system.lwjgl.LwjglCanvas runLoop
INFO: OGL: Re-init request received!
Mar 15, 2011 2:46:31 PM com.jme3.system.lwjgl.LwjglCanvas pauseCanvas
INFO: OGL: Destroying display (temporarily)
Mar 15, 2011 2:46:31 PM com.jme3.system.lwjgl.LwjglCanvas runLoop
INFO: OGL: Waiting for re-init authorization..
Mar 15, 2011 2:46:31 PM com.jme3.system.lwjgl.LwjglCanvas$1 removeNotify
INFO: EDT: Acknowledged receipt of re-init request!
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0d6a8f8c, pid=7500, tid=7420
#
# JRE version: 6.0_22-b04
# Java VM: Java HotSpot(TM) Client VM (17.1-b03 mixed mode, sharing windows-x86
)
# Problematic frame:
# C [OpenAL32.dll+0x18f8c]
#
# An error report file with more information is saved as:
# C:ncrESBViewerstaginghs_err_pid7500.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#


The referenced error report file contains the following:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0d6a8f8c, pid=7500, tid=7420
#
# JRE version: 6.0_22-b04
# Java VM: Java HotSpot(TM) Client VM (17.1-b03 mixed mode, sharing windows-x86 )
# Problematic frame:
# C [OpenAL32.dll+0x18f8c]
#
# 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 (0x02b0c000): VMThread [stack: 0x02bf0000,0x02c40000] [id=7420]

siginfo: ExceptionCode=0xc0000005, reading address 0x0d77efe0

Registers:
EAX=0x0d77efe0, EBX=0x7c901000, ECX=0x00000000, EDX=0x00000000
ESP=0x02c3f9b8, EBP=0x00000000, ESI=0x0c7b3238, EDI=0x00000000
EIP=0x0d6a8f8c, EFLAGS=0x00010206

Top of Stack: (sp=0x02c3f9b8)
0x02c3f9b8: 0c7b3278 0d6d0020 0c7b32a0 0d69bc26
0x02c3f9c8: 0d6d0020 0d6d0020 0d6d0020 7c9010e0
0x02c3f9d8: 00000000 0d69c23e 0c7b32a0 00000001
0x02c3f9e8: 78583b4e 02c3fa50 00000000 0d69c3b2
0x02c3f9f8: 0d6d0020 00000000 0d690000 0d69c3d6
0x02c3fa08: 00000000 0d69c44b 0d6a9f4f 0d690000
0x02c3fa18: 00000000 00000001 b0f15bcf 00000000
0x02c3fa28: 02c3fa70 001b41f0 c0000005 00000001

Instructions: (pc=0x0d6a8f8c)
0x0d6a8f7c: 00 51 e8 ed e9 ff ff 8b 46 08 89 7e 10 89 7e 0c
0x0d6a8f8c: 8b 10 83 c4 04 50 8b 42 08 ff d0 8b 46 04 89 7e


Stack: [0x02bf0000,0x02c40000], sp=0x02c3f9b8, free space=13e02c3f52ck
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [OpenAL32.dll+0x18f8c]

[error occurred during error reporting (printing native stack), id 0xc0000005]

VM_Operation (0x0c71f560): Exit, mode: safepoint, requested by thread 0x033c1400


P R O C E S S

Java Threads: ( => current thread )
0x02b2d400 JavaThread "LWJGL Renderer Thread" [_thread_blocked, id=3396, stack(0x0c980000,0x0c9d0000)]
0x0352d800 JavaThread "pool-2-thread-1" [_thread_blocked, id=5268, stack(0x0c930000,0x0c980000)]
0x03512400 JavaThread "pool-1-thread-1" [_thread_blocked, id=5740, stack(0x0c720000,0x0c770000)]
0x002b8800 JavaThread "DestroyJavaVM" [_thread_blocked, id=7496, stack(0x008c0000,0x00910000)]
0x034aa800 JavaThread "TimerQueue" daemon [_thread_blocked, id=6872, stack(0x0c7c0000,0x0c810000)]
0x033c1400 JavaThread "AWT-EventQueue-0" [_thread_blocked, id=7604, stack(0x0c6d0000,0x0c720000)]
0x033e0800 JavaThread "AWT-Shutdown" [_thread_blocked, id=7612, stack(0x04670000,0x046c0000)]
0x03377c00 JavaThread "Timer-1" daemon [_thread_blocked, id=6620, stack(0x04580000,0x045d0000)]
0x02ec0c00 JavaThread "quartzScheduler_QuartzSchedulerThread" [_thread_blocked, id=7684, stack(0x04530000,0x04580000)]
0x02ebf400 JavaThread "quartzScheduler_Worker-10" [_thread_blocked, id=7596, stack(0x044e0000,0x04530000)]
0x02f13800 JavaThread "quartzScheduler_Worker-9" [_thread_blocked, id=224, stack(0x04490000,0x044e0000)]
0x02f12000 JavaThread "quartzScheduler_Worker-8" [_thread_blocked, id=7716, stack(0x04440000,0x04490000)]
0x03142400 JavaThread "quartzScheduler_Worker-7" [_thread_blocked, id=7724, stack(0x043f0000,0x04440000)]
0x033c5400 JavaThread "quartzScheduler_Worker-6" [_thread_blocked, id=7896, stack(0x043a0000,0x043f0000)]
0x03140800 JavaThread "quartzScheduler_Worker-5" [_thread_blocked, id=4408, stack(0x04350000,0x043a0000)]
0x02ef2400 JavaThread "quartzScheduler_Worker-4" [_thread_blocked, id=5792, stack(0x04300000,0x04350000)]
0x0313e400 JavaThread "quartzScheduler_Worker-3" [_thread_blocked, id=7736, stack(0x042b0000,0x04300000)]
0x032fc000 JavaThread "quartzScheduler_Worker-2" [_thread_blocked, id=7292, stack(0x04260000,0x042b0000)]
0x02e7f800 JavaThread "quartzScheduler_Worker-1" [_thread_blocked, id=7524, stack(0x04210000,0x04260000)]
0x02ef7400 JavaThread "Timer-0" daemon [_thread_blocked, id=7856, stack(0x041c0000,0x04210000)]
0x0317c400 JavaThread "quartzScheduler_QuartzSchedulerThread" [_thread_blocked, id=7872, stack(0x04170000,0x041c0000)]
0x02f24400 JavaThread "quartzScheduler_Worker-10" [_thread_blocked, id=472, stack(0x04120000,0x04170000)]
0x02f70000 JavaThread "quartzScheduler_Worker-9" [_thread_blocked, id=7772, stack(0x040d0000,0x04120000)]
0x02e72800 JavaThread "quartzScheduler_Worker-8" [_thread_blocked, id=7720, stack(0x04080000,0x040d0000)]
0x034f1400 JavaThread "quartzScheduler_Worker-7" [_thread_blocked, id=7836, stack(0x04030000,0x04080000)]
0x03532400 JavaThread "quartzScheduler_Worker-6" [_thread_blocked, id=7824, stack(0x03fe0000,0x04030000)]
0x03398800 JavaThread "quartzScheduler_Worker-5" [_thread_blocked, id=7784, stack(0x03f90000,0x03fe0000)]
0x034d3400 JavaThread "quartzScheduler_Worker-4" [_thread_blocked, id=7364, stack(0x03f40000,0x03f90000)]
0x03386800 JavaThread "quartzScheduler_Worker-3" [_thread_blocked, id=7768, stack(0x03ef0000,0x03f40000)]
0x03376400 JavaThread "quartzScheduler_Worker-2" [_thread_blocked, id=7732, stack(0x03ea0000,0x03ef0000)]
0x0350dc00 JavaThread "quartzScheduler_Worker-1" [_thread_blocked, id=7712, stack(0x03e50000,0x03ea0000)]
0x032fb000 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=7544, stack(0x03d20000,0x03d70000)]
0x02b1f000 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=8112, stack(0x02dd0000,0x02e20000)]
0x02b18c00 JavaThread "CompilerThread0" daemon [_thread_blocked, id=7536, stack(0x02d80000,0x02dd0000)]
0x02b17400 JavaThread "Attach Listener" daemon [_thread_blocked, id=7532, stack(0x02d30000,0x02d80000)]
0x02b16000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=6728, stack(0x02ce0000,0x02d30000)]
0x02b0ec00 JavaThread "Finalizer" daemon [_thread_blocked, id=7260, stack(0x02c90000,0x02ce0000)]
0x02b0d400 JavaThread "Reference Handler" daemon [_thread_blocked, id=7492, stack(0x02c40000,0x02c90000)]

Other Threads:
=>0x02b0c000 VMThread [stack: 0x02bf0000,0x02c40000] [id=7420]

VM state:at safepoint (shutting down)

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

Heap
def new generation total 19392K, used 7049K [0x22990000, 0x23e90000, 0x27ee0000)
eden space 17280K, 34% used [0x22990000, 0x22f6e6c8, 0x23a70000)
from space 2112K, 49% used [0x23c80000, 0x23d83dc8, 0x23e90000)
to space 2112K, 0% used [0x23a70000, 0x23a70000, 0x23c80000)
tenured generation total 42676K, used 24273K [0x27ee0000, 0x2a88d000, 0x32990000)
the space 42676K, 56% used [0x27ee0000, 0x296944a0, 0x29694600, 0x2a88d000)
compacting perm gen total 21504K, used 21416K [0x32990000, 0x33e90000, 0x36990000)
the space 21504K, 99% used [0x32990000, 0x33e7a338, 0x33e7a400, 0x33e90000)
ro space 10240K, 54% used [0x36990000, 0x36f0c510, 0x36f0c600, 0x37390000)
rw space 12288K, 55% used [0x37390000, 0x37a2fb78, 0x37a2fc00, 0x37f90000)

Dynamic libraries:
0x00400000 - 0x00424000 C:swjavabinjava.exe
0x7c900000 - 0x7c9b2000 C:WINDOWSsystem32ntdll.dll
0x7c800000 - 0x7c8f6000 C:WINDOWSsystem32kernel32.dll
0x77dd0000 - 0x77e6b000 C:WINDOWSsystem32ADVAPI32.dll
0x77e70000 - 0x77f02000 C:WINDOWSsystem32RPCRT4.dll
0x77fe0000 - 0x77ff1000 C:WINDOWSsystem32Secur32.dll
0x7c340000 - 0x7c396000 C:swjavajrebinmsvcr71.dll
0x6d8a0000 - 0x6db47000 C:swjavajrebinclientjvm.dll
0x7e410000 - 0x7e4a1000 C:WINDOWSsystem32USER32.dll
0x77f10000 - 0x77f59000 C:WINDOWSsystem32GDI32.dll
0x76b40000 - 0x76b6d000 C:WINDOWSsystem32WINMM.dll
0x76390000 - 0x763ad000 C:WINDOWSsystem32IMM32.DLL
0x6d850000 - 0x6d85c000 C:swjavajrebinverify.dll
0x6d3d0000 - 0x6d3ef000 C:swjavajrebinjava.dll
0x6d330000 - 0x6d338000 C:swjavajrebinhpi.dll
0x76bf0000 - 0x76bfb000 C:WINDOWSsystem32PSAPI.DLL
0x6d890000 - 0x6d89f000 C:swjavajrebinzip.dll
0x6d0b0000 - 0x6d1fa000 C:swjavajrebinawt.dll
0x73000000 - 0x73026000 C:WINDOWSsystem32WINSPOOL.DRV
0x77c10000 - 0x77c68000 C:WINDOWSsystem32msvcrt.dll
0x774e0000 - 0x7761d000 C:WINDOWSsystem32ole32.dll
0x773d0000 - 0x774d3000 C:WINDOWSWinSxSx86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83COMCTL32.dll
0x77f60000 - 0x77fd6000 C:WINDOWSsystem32SHLWAPI.dll
0x5ad70000 - 0x5ada8000 C:WINDOWSsystem32uxtheme.dll
0x74720000 - 0x7476c000 C:WINDOWSsystem32MSCTF.dll
0x755c0000 - 0x755ee000 C:WINDOWSsystem32msctfime.ime
0x7c9c0000 - 0x7d1d7000 C:WINDOWSsystem32shell32.dll
0x6d2e0000 - 0x6d32f000 C:swjavajrebinfontmanager.dll
0x10000000 - 0x10071000 C:ncrESBViewerstagingwindowsnativelwjgl.dll
0x5ed00000 - 0x5edcc000 C:WINDOWSsystem32OPENGL32.dll
0x68b20000 - 0x68b40000 C:WINDOWSsystem32GLU32.dll
0x73760000 - 0x737ab000 C:WINDOWSsystem32DDRAW.dll
0x73bc0000 - 0x73bc6000 C:WINDOWSsystem32DCIMAN32.dll
0x77c00000 - 0x77c08000 C:WINDOWSsystem32VERSION.dll
0x6d400000 - 0x6d406000 C:swjavajrebinjawt.dll
0x6d6b0000 - 0x6d6c3000 C:swjavajrebinnet.dll
0x71ab0000 - 0x71ac7000 C:WINDOWSsystem32WS2_32.dll
0x71aa0000 - 0x71aa8000 C:WINDOWSsystem32WS2HELP.dll
0x71a50000 - 0x71a8f000 C:WINDOWSSystem32mswsock.dll
0x76f20000 - 0x76f47000 C:WINDOWSsystem32DNSAPI.dll
0x76fb0000 - 0x76fb8000 C:WINDOWSSystem32winrnr.dll
0x76f60000 - 0x76f8c000 C:WINDOWSsystem32WLDAP32.dll
0x76fc0000 - 0x76fc6000 C:WINDOWSsystem32rasadhlp.dll
0x662b0000 - 0x66308000 C:WINDOWSsystem32hnetcfg.dll
0x71a90000 - 0x71a98000 C:WINDOWSSystem32wshtcpip.dll
0x68000000 - 0x68036000 C:WINDOWSsystem32rsaenh.dll
0x769c0000 - 0x76a74000 C:WINDOWSsystem32USERENV.dll
0x5b860000 - 0x5b8b5000 C:WINDOWSsystem32netapi32.dll
0x6d6d0000 - 0x6d6d9000 C:swjavajrebinnio.dll
0x77120000 - 0x771ab000 C:WINDOWSsystem32OLEAUT32.DLL
0x6d250000 - 0x6d273000 C:swjavajrebindcpr.dll
0x0c9d0000 - 0x0d460000 C:WINDOWSsystem32ig4icd32.dll
0x0d690000 - 0x0d6ca000 C:ncrESBViewerstagingwindowsnativeOpenAL32.dll
0x78520000 - 0x785c3000 C:WINDOWSWinSxSx86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.4148_x-ww_d495ac4eMSVCR90.dll
0x73f10000 - 0x73f6c000 C:WINDOWSsystem32dsound.dll
0x76c30000 - 0x76c5e000 C:WINDOWSsystem32WINTRUST.dll
0x77a80000 - 0x77b15000 C:WINDOWSsystem32CRYPT32.dll
0x77b20000 - 0x77b32000 C:WINDOWSsystem32MSASN1.dll
0x76c90000 - 0x76cb8000 C:WINDOWSsystem32IMAGEHLP.dll
0x72d20000 - 0x72d29000 C:WINDOWSsystem32wdmaud.drv
0x72d10000 - 0x72d18000 C:WINDOWSsystem32msacm32.drv
0x77be0000 - 0x77bf5000 C:WINDOWSsystem32MSACM32.dll
0x77bd0000 - 0x77bd7000 C:WINDOWSsystem32midimap.dll
0x73ee0000 - 0x73ee4000 C:WINDOWSsystem32KsUser.dll

VM Arguments:
jvm_args: -Dgriffon.env=development -Dgriffon.runmode=STANDALONE -Dgriffon.start.dir='C:ncrESBViewer' -Djava.library.path=C:swjavabin;.;C:WINDOWSSunJavabin;C:WINDOWSsystem32;C:WINDOWS;c:oracleora92bin;C:Program FilesOraclejre1.1.8bin;C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:Program FilesCommon FilesRoxio SharedDLLShared;C:Program FilesCommon FilesRoxio Shared10.0DLLShared;C:Program FilesWindows Imaging;C:swjavabin;C:swgroovybin;C:swgriffonbin;C:Program FilesTortoiseSVNbin;c:util;C:swgrailsbin;C:Program FilesMySQLMySQL Server 5.1bin;c:swaspectjbin;c:swgantbin;C:Program FilesQuickTimeQTSystem;C:ncrESBViewerstagingwindowsnative
java_command: griffon.swing.SwingApplication
Launcher Type: SUN_STANDARD

Environment Variables:
JAVA_HOME=C:swjava
CLASSPATH=.;c:swaspectjlibaspectjrt.jar;C:Program FilesJavajre6libextQTJava.zip
PATH=c:oracleora92bin;C:Program FilesOraclejre1.1.8bin;C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:Program FilesCommon FilesRoxio SharedDLLShared;C:Program FilesCommon FilesRoxio Shared10.0DLLShared;C:Program FilesWindows Imaging;C:swjavabin;C:swgroovybin;"C:swgriffonbin";C:Program FilesTortoiseSVNbin;c:util;"C:swgrailsbin";C:Program FilesMySQLMySQL Server 5.1bin;c:swaspectjbin;c:swgantbin;C:Program FilesQuickTimeQTSystem
USERNAME=lg250067
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 6 Model 37 Stepping 5, GenuineIntel



S Y S T E M

OS: Windows XP Build 2600 Service Pack 3

CPU:total 4 (8 cores per cpu, 2 threads per core) family 6 model 37 stepping 5, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, ht

Memory: 4k page, physical 2021192k(54704k free), swap 3888076k(632192k free)

vm_info: Java HotSpot(TM) Client VM (17.1-b03) for windows-x86 JRE (1.6.0_22-b04), built on Sep 15 2010 00:56:36 by "java_re" with MS VC++ 7.1 (VS2003)

time: Tue Mar 15 14:46:31 2011
elapsed time: 102 seconds



I'm not doing anything at all with audio, so I'm not sure why OpenAL32.dll would be a problem, although maybe that's simply the last library to have loaded.

Any ideas?

Thanks,
Lee Grey

The audio renderer gets enabled by default when available… Seems like an incompatibility… What soundcard do you have? Does it have special drivers?

I don’t think the hardware is anything special. It’s a Dell Latitude E6410, and there is absolutely no reason why the company would provide anything but the most barebones sound card.



There are seven entries in Device Manager under Sound, video, and game controllers:

. Audio Codecs

. IDT High Definition Audio CODEC

. Intel® Display Audio

. Legacy Audio Drivers

. Legacy Video Capture Devices

. Media Control Devices

. Video Codecs



The most “interesting” stuff seems to be in the IDT CODEC, where there are drivers named AESTAud.sys, drmk.sys, ks.sys, portcls.sys, sthda.sys, stream.sys, ksproxy.ax, ksuser.dll, st326274.dll, stacapi.dll, and wdmaud.drv. Most are from Microsoft, though some are from IDT, Inc., and the top one is from Andrea Electronics Corporation.



I suspect these are “special drivers.” What does that tell you?



Thanks,

Lee

Well on windows often times special “drivers” replace whole subsystems like audio and networking etc… Also, professional sound cards use another driver model on windows (ASIO) which is not compatible to many “normal” things (tho OpenAL should support it afaik)… Just searching for the specialties about your system, we dont get this error report from our other windows users…

I think it is possible that when the canvas comes back on, the OpenAL isn’t correctly restarted (?)

Normen, are you using audio in the jMP canvas?

There are some times that the JVM doesn’t shut down at all when attempting to close the program. Instead, it hangs here:


2011-04-04 15:39:24,780 [AWT-EventQueue-0] INFO griffon.swing.SwingApplication - Shutdown is in process
Apr 4, 2011 3:39:33 PM com.jme3.system.lwjgl.LwjglCanvas$1 removeNotify
INFO: EDT: Sending re-init request..


At this point, the program is no longer visible, but a Ctrl-C is necessary to get the prompt back.

What is being reinit'ed during shutdown, and why? I've seen this happen consistently on both Windows and Mac. Am I doing something wrong?

Thanks,
Lee

Add app.stop(); when you close your application, the canvas context is not stopped automatically as you might reopen the window.

I have this problem aswell…

Almost everytime I shud down my application jvm crashes with something concerning OpenAL unloading…



Is there a solution?



(Windows 7 64-bit)

Same problem here, but it apparently only occurs when I close the window with the Windows’ cross.

If I type ESC, it doesn’t crash.

@transcendent, ozonegrif: I had this very same problem with a fresh install of windows 7. java, netbeans and jmonkey was the 4th program after teamspeak3, firefox and pidgin. I tried getting the newest openAL-libraries and it didn’t help, BUT the problem vanished after updating netbeans and jmonkey-ide. It seems to be a problem with one of the libraries/packages delivered with the installation package, not with a library deployed in the system, nor a problem created but another application.



tl;dr: update jmonkey and netbeans via the menu in the IDE

1 Like

I also have this problem. Win7 32 + 64 bit. jME (stable) is up to date. I didn’t report it because I thought it was a known LWJGL / OpenAL issue that would be solved through a new LWJGL version in the (hopefully near) future.

@affenstyler Yes, updating trough the menu did seem to fix the problem, thx :slight_smile:

I do however now still get the exact same crach when I close down fullscreen mode…

maybe the update missed to apply the same fix to both fullscreen and windowed mode?



Is there some workaround for this?



I am extending SimpleApplication