Frequent VM Crashes

The JVM on my computer crashes alot. (Meaning, I almost never get to keep my programs running for more than an hour unless I'm not using them while they run. Frequently the crash will occur while my programs, Eclipse/NetBeans are starting up.) Originally I noticed the problem using Eclipse, but as the problem seemed to get worse and worse, I switched to NetBeans IDE 5.0. (Reinstalling Eclipse always seemed to help, but the crashing would always get unbearable.) NetBeans ran great for a while, but exactly the same problem has been croping up again, and this time it's also crashing a significant amount of the time while running the programs I'm developing. I've never had this problem on any other machine, so I expect there's something curious about my computer, but I've run memory tests repeatedly and they've come up clean and I don't really have a problem running anything but the JVM. Here's a sample error dump:

#

# An unexpected error has been detected by HotSpot Virtual Machine:

#

# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d7fe102, pid=1156, tid=2640

#

# Java VM: Java HotSpot(TM) Client VM (1.5.0_08-b03 mixed mode, sharing)

# Problematic frame:

# V [jvm.dll+0xce102]

#

T H R E A D

Current thread (0x00a68ad0): VMThread [id=2640]

siginfo: ExceptionCode=0xc0000005, writing address 0x2aee62ee

Registers:

EAX=0x62f30000, EBX=0x00000127, ECX=0x2aee62ee, EDX=0x00000005

ESP=0x02b4f998, EBP=0x02b4f9fc, ESI=0x25dbc378, EDI=0x2aee62ee

EIP=0x6d7fe102, EFLAGS=0x00010293

Top of Stack: (sp=0x02b4f998)

0x02b4f998:6d7fddf9 2aee62ee 25dbc830 25dbc378

0x02b4f9a8:6d791269 25dbc830 6d8ab448 2b3802e0

0x02b4f9b8:00000000 6d7fde9c 25dbc378 6d7fde60

0x02b4f9c8:6d8ab448 6d7fe0c0 6d8af944 6d846781

0x02b4f9d8:6d8af944 6d8ab448 00a496e0 6d79f7e2

0x02b4f9e8:6d8ab448 00000000 00000001 00a496e0

0x02b4f9f8:00000000 02b4fa64 6d7a0ad1 00000001

0x02b4fa08:00000000 00000001 00000002 6d8ab448

Instructions: (pc=0x6d7fe102)

0x6d7fe0f2:83 e0 fc 74 02 89 01 c2 04 00 8b 4c 24 04 8b 01

0x6d7fe102:c7 01 03 00 00 00 83 f8 01 74 20 8b d0 83 e2 07

Stack: [0x02b10000,0x02b50000), sp=0x02b4f998, free space=254k

Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)

V [jvm.dll+0xce102]

V [jvm.dll+0x70ad1]

V [jvm.dll+0x7084d]

V [jvm.dll+0x73ebb]

V [jvm.dll+0x10dc75]

V [jvm.dll+0x6f5df]

V [jvm.dll+0x51c2e]

V [jvm.dll+0x6f781]

V [jvm.dll+0x128a8b]

V [jvm.dll+0x128559]

V [jvm.dll+0x128702]

V [jvm.dll+0x128467]

C [MSVCRT.dll+0x2a3b0]

C [kernel32.dll+0xb683]

VM_Operation (0x057af60c): generation collection for allocation, mode: safepoint, requested by thread 0x02f89b48

P R O C E S S

Java Threads: ( => current thread )

0x03121c58 JavaThread "System clipboard synchronizer" daemon [_thread_blocked, id=2968]

0x02ea2430 JavaThread "MDR event dispatcher" daemon [_thread_blocked, id=3844]

0x00037d58 JavaThread "DestroyJavaVM" [_thread_blocked, id=3108]

0x02f89b48 JavaThread "AWT-EventQueue-1" [_thread_blocked, id=596]

0x03119228 JavaThread "TimerQueue" daemon [_thread_blocked, id=3420]

0x02f0e500 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=636]

0x02d44488 JavaThread "AWT-Windows" daemon [_thread_blocked, id=2540]

0x02d44008 JavaThread "AWT-Shutdown" [_thread_blocked, id=2952]

0x02fbfff8 JavaThread "Timer-0" daemon [_thread_blocked, id=2332]

0x02d45808 JavaThread "CLI Requests Server" daemon [_thread_in_native, id=3832]

0x00ac1978 JavaThread "Active Reference Queue Daemon" daemon [_thread_blocked, id=3496]

0x00a72ab8 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=2908]

0x00a71740 JavaThread "CompilerThread0" daemon [_thread_blocked, id=3880]

0x00a70a88 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=2624]

0x00a6b818 JavaThread "Finalizer" daemon [_thread_blocked, id=2444]

0x00a48c00 JavaThread "Reference Handler" daemon [_thread_blocked, id=3000]

Other Threads:

=>0x00a68ad0 VMThread [id=2640]

0x00a73d08 WatcherThread [id=2404]

VM state:at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event])

[0x00037408/0x00000714] Threads_lock - owner thread: 0x00a68ad0

[0x00037588/0x000006d8] Heap_lock - owner thread: 0x02f89b48

Heap

def new generationtotal 3584K, used 384K [0x1cb80000, 0x1cf60000, 0x1d550000)

eden space 3200K,0% used [0x1cb80000, 0x1cb80000, 0x1cea0000)

from space 384K, 100% used [0x1cea0000, 0x1cf00000, 0x1cf00000)

tospace 384K,0% used [0x1cf00000, 0x1cf00000, 0x1cf60000)

tenured generationtotal 46984K, used 34624K [0x1d550000, 0x20332000, 0x24b80000)

the space 46984K, 73% used [0x1d550000, 0x1f7201a0, 0x1f720200, 0x20332000)

compacting perm gen total 32768K, used 25503K [0x24b80000, 0x26b80000, 0x2ab80000)

the space 32768K, 77% used [0x24b80000, 0x26467d28, 0x26467e00, 0x26b80000)

ro space 8192K, 67% used [0x2ab80000, 0x2b0de380, 0x2b0de400, 0x2b380000)

rw space 12288K, 47% used [0x2b380000, 0x2b9286e8, 0x2b928800, 0x2bf80000)

Dynamic libraries:

0x00400000 - 0x0040d000 C:\Program Files\Java\jdk1.5.0_08\jre\bin\java.exe

0x7c900000 - 0x7c9b0000 C:\WINDOWS\system32\ntdll.dll

0x7c800000 - 0x7c8f4000 C:\WINDOWS\system32\kernel32.dll

0x77dd0000 - 0x77e6b000 C:\WINDOWS\system32\ADVAPI32.dll

0x77e70000 - 0x77f01000 C:\WINDOWS\system32\RPCRT4.dll

0x77c10000 - 0x77c68000 C:\WINDOWS\system32\MSVCRT.dll

0x6d730000 - 0x6d8cb000 C:\Program Files\Java\jdk1.5.0_08\jre\bin\client\jvm.dll

0x77d40000 - 0x77dd0000 C:\WINDOWS\system32\USER32.dll

0x77f10000 - 0x77f57000 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

0x6d2f0000 - 0x6d2f8000 C:\Program Files\Java\jdk1.5.0_08\jre\bin\hpi.dll

0x76bf0000 - 0x76bfb000 C:\WINDOWS\system32\PSAPI.DLL

0x6d700000 - 0x6d70c000 C:\Program Files\Java\jdk1.5.0_08\jre\bin\verify.dll

0x6d370000 - 0x6d38d000 C:\Program Files\Java\jdk1.5.0_08\jre\bin\java.dll

0x6d720000 - 0x6d72f000 C:\Program Files\Java\jdk1.5.0_08\jre\bin\zip.dll

0x6d530000 - 0x6d543000 C:\Program Files\Java\jdk1.5.0_08\jre\bin\net.dll

0x71ab0000 - 0x71ac7000 C:\WINDOWS\system32\WS2_32.dll

0x71aa0000 - 0x71aa8000 C:\WINDOWS\system32\WS2HELP.dll

0x76d60000 - 0x76d79000 C:\WINDOWS\system32\iphlpapi.dll

0x76d40000 - 0x76d58000 C:\WINDOWS\system32\MPRAPI.dll

0x77cc0000 - 0x77cf2000 C:\WINDOWS\system32\ACTIVEDS.dll

0x76e10000 - 0x76e35000 C:\WINDOWS\system32\adsldpc.dll

0x5b860000 - 0x5b8b4000 C:\WINDOWS\system32\NETAPI32.dll

0x76f60000 - 0x76f8c000 C:\WINDOWS\system32\WLDAP32.dll

0x76b20000 - 0x76b31000 C:\WINDOWS\system32\ATL.DLL

0x774e0000 - 0x7761d000 C:\WINDOWS\system32\ole32.dll

0x77120000 - 0x771ac000 C:\WINDOWS\system32\OLEAUT32.dll

0x76e80000 - 0x76e8e000 C:\WINDOWS\system32\rtutils.dll

0x71bf0000 - 0x71c03000 C:\WINDOWS\system32\SAMLIB.dll

0x77920000 - 0x77a13000 C:\WINDOWS\system32\SETUPAPI.dll

0x71a50000 - 0x71a8f000 C:\WINDOWS\system32\mswsock.dll

0x662b0000 - 0x66308000 C:\WINDOWS\system32\hnetcfg.dll

0x71a90000 - 0x71a98000 C:\WINDOWS\System32\wshtcpip.dll

0x76f20000 - 0x76f47000 C:\WINDOWS\system32\DNSAPI.dll

0x76fb0000 - 0x76fb8000 C:\WINDOWS\System32\winrnr.dll

0x76fc0000 - 0x76fc6000 C:\WINDOWS\system32\rasadhlp.dll

0x0ffd0000 - 0x0fff8000 C:\WINDOWS\system32\rsaenh.dll

0x769c0000 - 0x76a73000 C:\WINDOWS\system32\USERENV.dll

0x6d070000 - 0x6d1d9000 C:\Program Files\Java\jdk1.5.0_08\jre\bin\awt.dll

0x73000000 - 0x73026000 C:\WINDOWS\system32\WINSPOOL.DRV

0x5ad70000 - 0x5ada8000 C:\WINDOWS\system32\uxtheme.dll

0x73760000 - 0x737a9000 C:\WINDOWS\system32\ddraw.dll

0x73bc0000 - 0x73bc6000 C:\WINDOWS\system32\DCIMAN32.dll

0x755c0000 - 0x755ee000 C:\WINDOWS\system32\msctfime.ime

0x7c9c0000 - 0x7d1d5000 C:\WINDOWS\system32\shell32.dll

0x77f60000 - 0x77fd6000 C:\WINDOWS\system32\SHLWAPI.dll

0x773d0000 - 0x774d2000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2180_x-ww_a84f1ff9\comctl32.dll

0x5d090000 - 0x5d127000 C:\WINDOWS\system32\comctl32.dll

0x6d2b0000 - 0x6d2ef000 C:\Program Files\Java\jdk1.5.0_08\jre\bin\fontmanager.dll

0x6d550000 - 0x6d559000 C:\Program Files\Java\jdk1.5.0_08\jre\bin\nio.dll

0x6d230000 - 0x6d253000 C:\Program Files\Java\jdk1.5.0_08\jre\bin\dcpr.dll

VM Arguments:

jvm_args: -Dnetbeans.importclass=org.netbeans.upgrade.AutoUpgrade -Dnetbeans.accept_license_class=org.netbeans.license.AcceptLicense -Xms32m -Xmx128m -XX:PermSize=32m -XX:MaxPermSize=96m -Xverify:none -Dapple.laf.useScreenMenuBar=true -Dnetbeans.osenv=C:\DOCUME~1\SEANCO~1\LOCALS~1\Temp\nbenv2 -Dnetbeans.osenv.nullsep=true -Djdk.home=C:\Program Files\Java\jdk1.5.0_08 -Dnetbeans.home=C:\Program Files\netbeans-5.0\platform6 -Dnetbeans.dirs=C:\Program Files\netbeans-5.0\nb5.0;C:\Program Files\netbeans-5.0\ide6;C:\Program Files\netbeans-5.0\enterprise2;C:\Program Files\netbeans-5.0\harness -Dnetbeans.user=C:\Documents and Settings\Sean Cox\.netbeans\5.0 -Dnetbeans.system_http_proxy=DIRECT -Dsun.awt.keepWorkingSetOnMinimize=true

java_command: org/netbeans/Main --branding nb

Launcher Type: SUN_STANDARD

Environment Variables:

PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Common Files\Adaptec Shared\System;C:\Program Files\Java\jdk1.5.0_08\bin;c:\msc\bin;"C:\Program Files\PKWARE\PKZIPC\"

USERNAME=Sean Cox

OS=Windows_NT

PROCESSOR_IDENTIFIER=x86 Family 6 Model 6 Stepping 2, AuthenticAMD

S Y S T E M

OS: Windows XP Build 2600 Service Pack 2

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

Memory: 4k page, physical 523760k(112228k free), swap 1280224k(869588k free)

vm_info: Java HotSpot(TM) Client VM (1.5.0_08-b03) for windows-x86, built on Jul 26 2006 01:10:50 by "java_re" with MS VC++ 6.0

[10672 byte] By [theShticka] at [2007-10-3 3:55:51]
# 1

Unfortunately that stack trace shows it to be a crash during garbage collection. The decoded stack trace is:

V [jvm.dll+0xce102]MarkSweep::mark_object

V [jvm.dll+0x70ad1]GenCollectedHeap::process_strong_roots

V [jvm.dll+0x7084d]GenMarkSweep::mark_sweep_phase1

V [jvm.dll+0x73ebb]GenMarkSweep::invoke_at_safepoint

V [jvm.dll+0x10dc75] OneContigSpaceCardGeneration::collect

V [jvm.dll+0x6f5df]GenCollectedHeap::do_collection

V [jvm.dll+0x51c2e]TwoGenerationCollectorPolicy::satisfy_failed_allocation

V [jvm.dll+0x6f781]GenCollectedHeap::satisfy_failed_allocation

V [jvm.dll+0x128a8b] VM_Operation::evaluate

V [jvm.dll+0x128559] ...

It's unfortunate because a failure in the routine in question is not very specific. The heap is corrupted and this code is simply the innocent victim . The actual source of the corruption can be many things and usually has happened quite a bit in the past. It

would interesting to see if all your crashes have this same stack trace or if they are different. As long as you run the same version of the jvm 5.0u8b03 and -client) the stack trace would be stable. Once thing you could try is to use the server vm. Which you might not have installed since windows installs usually omit it. Once you have the server vm you need to use -server as the option to the java command which might take some doing for NetBeans or Eclipse. If that vm is more stable then we know the issue is with the client compiler. If it fails then stack trace might look different and would need to be decoded to see if the stack trace is really the same. Unfortunately the type of crash you are seeing is difficult to debug in the best of circumstances and without a test case could be nearly impossible. In any case seeing more examples of stack traces at a crash might give us a clue.

Certainly the fact that only a particular machine is troublesome for you is suspicious. The jvm is pretty highly multi-threaded and as such is much more susceptible to hardware flakes than your average program.

fatcataira at 2007-7-14 21:54:00 > top of Java-index,Java HotSpot Virtual Machine,HotSpot Internals...
# 2

The stack traces are all quite different. For a little while it seemed the error had gone away. Now, just a couple of days ago, it came back and I can hardly get anything done before it crashes and 3 out of 4 times NetBeans wont even start up. (Ironically, just after you responded it started behaving itself.)

Now that its crashing again I'll try using the server vm and see how that goes.

theShticka at 2007-7-14 21:54:00 > top of Java-index,Java HotSpot Virtual Machine,HotSpot Internals...
# 3
I don't know why it was crashing exactly, but I identified a trigger. The crashing stops when my memory stick isn't plugged in. So now, I program with my memory stick unplugged, and life is good. (How random is that?)
theShticka at 2007-7-14 21:54:00 > top of Java-index,Java HotSpot Virtual Machine,HotSpot Internals...