Bug 102490 - [WorkbenchLauncher] eclipse / JVM crash on startup
Summary: [WorkbenchLauncher] eclipse / JVM crash on startup
Status: RESOLVED DUPLICATE of bug 71987
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.1   Edit
Hardware: PC Windows 2000
: P2 critical (vote)
Target Milestone: ---   Edit
Assignee: JDT-Core-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: vm
Depends on:
Blocks:
 
Reported: 2005-07-01 11:13 EDT by Dave Dyer CLA
Modified: 2006-04-24 11:10 EDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dave Dyer CLA 2005-07-01 11:13:52 EDT
Since loading 3.1 RC3 I've experienced clusters of crashes at the 
end of launching eclipse.  These crashes occur just as the initial
window is being displayed.  Typically, I keep retrying and keep crashing
until I get lucky.  This makes me suspect the problem is related to
a timing issue in multithreading.  Also, TWICE this crash has also
been coincident with BSOD on win2k - which has always been an extremely
rare event on my system.  This "startup crash" problem occurred a few
times with earlier builds, but seems to be endemic in this one.

Here is a typical crash log
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  EXCEPTION_FLT_STACK_CHECK (0xc0000092) at pc=0x00c7ec58, pid=988, tid=1900
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0_02-b09 mixed mode)
# Problematic frame:
# v  ~RuntimeStub::range_check_failed Runtime1 stub
#

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

Current thread (0x00734ba0):  JavaThread "main" [_thread_in_Java, id=1900]

siginfo: ExceptionCode=0xc0000092, ExceptionInformation=0x00000000 0x0006eab0 

Registers:
EAX=0x00000006, EBX=0x02e1be98, ECX=0x04538148, EDX=0x00d8bad1
ESP=0x0006eab0, EBP=0x0006eb88, ESI=0x04538148, EDI=0x00000006
EIP=0x00c7ec58, EFLAGS=0x00010202

Top of Stack: (sp=0x0006eab0)
0x0006eab0:   6d6a3ebd 00735024 00734ba0 0006eb30
0x0006eac0:   6d730f1b 00000315 015fbc82 0073501c
0x0006ead0:   00735028 00735024 00000003 00000000
0x0006eae0:   0006eb04 00c20155 043f27c0 13b17e58
0x0006eaf0:   ffff1372 ffff0000 ffffffff 00c7fb51
0x0006eb00:   0089001b 02e172c0 ffff0023 ffffffff
0x0006eb10:   ffffffff 0000ffff 00000000 ffff0000
0x0006eb20:   00fe00fe 00fe00fe 00feffff 00fe00fe 

Instructions: (pc=0x00c7ec58)
0x00c7ec48:   83 ec 6c dd 34 24 9b d9 24 24 83 ec 40 dd 1c 24
0x00c7ec58:   dd 5c 24 08 dd 5c 24 10 dd 5c 24 18 dd 5c 24 20 


Stack: [0x00030000,0x00070000),  sp=0x0006eab0,  free space=250k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
v  ~RuntimeStub::range_check_failed Runtime1 stub
J  org.eclipse.jdt.internal.compiler.parser.Scanner.getNextToken()I
v  ~RuntimeStub::alignment_frame_return Runtime1 stub
j  org.eclipse.jdt.core.JavaConventions.scannedIdentifier(Ljava/lang/String;)[C+54
j 
org.eclipse.jdt.core.JavaConventions.validateIdentifier(Ljava/lang/String;)Lorg/eclipse/core/runtime/IStatus;+1
j 
org.eclipse.jdt.internal.core.util.Util.isValidFolderNameForPackage(Ljava/lang/String;)Z+1
j 
org.eclipse.jdt.internal.core.util.Util.packageName(Lorg/eclipse/core/runtime/IPath;)Ljava/lang/String;+34
j 
org.eclipse.jdt.internal.core.JavaModelManager.determineIfOnClasspath(Lorg/eclipse/core/resources/IResource;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IJavaElement;+200
j 
org.eclipse.jdt.internal.core.JavaModelManager.createCompilationUnitFrom(Lorg/eclipse/core/resources/IFile;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/ICompilationUnit;+22
j 
org.eclipse.jdt.internal.core.JavaModelManager.create(Lorg/eclipse/core/resources/IFile;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IJavaElement;+45
j 
org.eclipse.jdt.internal.core.JavaModelManager.create(Lorg/eclipse/core/resources/IResource;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IJavaElement;+73
j 
org.eclipse.jdt.core.JavaCore.create(Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/jdt/core/IJavaElement;+2
j 
org.eclipse.jdt.internal.ui.ResourceAdapterFactory.getAdapter(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;+43
j 
org.eclipse.core.internal.runtime.AdapterFactoryProxy.getAdapter(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;+30
j 
org.eclipse.core.internal.runtime.AdapterManager.getAdapter(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;+31
j 
org.eclipse.core.runtime.PlatformObject.getAdapter(Ljava/lang/Class;)Ljava/lang/Object;+8
j 
org.eclipse.ui.part.FileEditorInput.getAdapter(Ljava/lang/Class;)Ljava/lang/Object;+46
j 
org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.getJavaElement()Lorg/eclipse/jdt/core/IJavaElement;+47
j 
org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.firePostSelectionChanged(Lorg/eclipse/jface/text/ITextSelection;)V+16
j 
org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$2.selectionChanged(Lorg/eclipse/jface/viewers/SelectionChangedEvent;)V+20
j 
org.eclipse.jface.text.TextViewer.firePostSelectionChanged(Lorg/eclipse/jface/viewers/SelectionChangedEvent;)V+38
j  org.eclipse.jface.text.TextViewer.firePostSelectionChanged(II)V+71
j  org.eclipse.jface.text.TextViewer$4.run()V+113
j  org.eclipse.swt.widgets.Display.runTimer(I)Z+69
j  org.eclipse.swt.widgets.Display.messageProc(IIII)I+476
v  ~StubRoutines::call_stub
V  [jvm.dll+0x818e8]
V  [jvm.dll+0xd4989]
V  [jvm.dll+0x817b9]
V  [jvm.dll+0x865a3]
C  [swt-win32-3138.dll+0x29514]
C  [swt-win32-3138.dll+0x1d95c]
C  [USER32.dll+0x4605]
C  [USER32.dll+0xa7ba]
j 
org.eclipse.swt.internal.win32.OS.DispatchMessageW(Lorg/eclipse/swt/internal/win32/MSG;)I+0
j 
org.eclipse.swt.internal.win32.OS.DispatchMessage(Lorg/eclipse/swt/internal/win32/MSG;)I+7
j  org.eclipse.swt.widgets.Display.readAndDispatch()Z+50
j 
org.eclipse.ui.internal.Workbench.runEventLoop(Lorg/eclipse/jface/window/Window$IExceptionHandler;Lorg/eclipse/swt/widgets/Display;)V+9
j  org.eclipse.ui.internal.Workbench.runUI()I+108
j 
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Lorg/eclipse/swt/widgets/Display;Lorg/eclipse/ui/application/WorkbenchAdvisor;)I+11
j 
org.eclipse.ui.PlatformUI.createAndRunWorkbench(Lorg/eclipse/swt/widgets/Display;Lorg/eclipse/ui/application/WorkbenchAdvisor;)I+2
j 
org.eclipse.ui.internal.ide.IDEApplication.run(Ljava/lang/Object;)Ljava/lang/Object;+98
j 
org.eclipse.core.internal.runtime.PlatformActivator$1.run(Ljava/lang/Object;)Ljava/lang/Object;+257
j 
org.eclipse.core.runtime.adaptor.EclipseStarter.run(Ljava/lang/Object;)Ljava/lang/Object;+170
j 
org.eclipse.core.runtime.adaptor.EclipseStarter.run([Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Object;+57
v  ~StubRoutines::call_stub
V  [jvm.dll+0x818e8]
V  [jvm.dll+0xd4989]
V  [jvm.dll+0x817b9]
V  [jvm.dll+0xe4c04]
V  [jvm.dll+0x9f94f]
C  [java.dll+0x6c08]
j 
sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+87
j 
sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6
j 
java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+111
j 
org.eclipse.core.launcher.Main.invokeFramework([Ljava/lang/String;[Ljava/net/URL;)V+181
j  org.eclipse.core.launcher.Main.basicRun([Ljava/lang/String;)V+107
j  org.eclipse.core.launcher.Main.run([Ljava/lang/String;)I+4
j  org.eclipse.core.launcher.Main.main([Ljava/lang/String;)V+10
v  ~StubRoutines::call_stub
V  [jvm.dll+0x818e8]
V  [jvm.dll+0xd4989]
V  [jvm.dll+0x817b9]
V  [jvm.dll+0x88747]
C  [javaw.exe+0x14c0]
C  [javaw.exe+0x313d]
C  [KERNEL32.DLL+0x2893d]


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

Java Threads: ( => current thread )
  0x170e36f0 JavaThread "Worker-1" [_thread_new, id=500]
  0x175cb780 JavaThread "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon
[_thread_blocked, id=600]
  0x1728e6b0 JavaThread "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon
[_thread_in_native, id=3300]
  0x1746b3d0 JavaThread "Java indexing" daemon [_thread_blocked, id=1804]
  0x173e4438 JavaThread "Worker-0" [_thread_blocked, id=1092]
  0x171bd4b0 JavaThread "Start Level Event Dispatcher" daemon [_thread_blocked,
id=3080]
  0x17207598 JavaThread "Framework Event Dispatcher" daemon [_thread_blocked,
id=2196]
  0x17207008 JavaThread "State Data Manager" daemon [_thread_blocked, id=2552]
  0x00be2380 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=1940]
  0x00be0e88 JavaThread "CompilerThread0" daemon [_thread_blocked, id=544]
  0x00be00c0 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=2088]
  0x00bd7688 JavaThread "Finalizer" daemon [_thread_blocked, id=3152]
  0x00bd6198 JavaThread "Reference Handler" daemon [_thread_blocked, id=3084]
=>0x00734ba0 JavaThread "main" [_thread_in_Java, id=1900]

Other Threads:
  0x00b93f48 VMThread [id=3088]
  0x00be3918 WatcherThread [id=3264]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 def new generation   total 2880K, used 1642K [0x02ca0000, 0x02fc0000, 0x04050000)
  eden
[error occurred during error reporting, step 190, id 0xc0000092]

Dynamic libraries:
0x00400000 - 0x0040c000 	C:\WINNT\system32\javaw.exe
0x77f80000 - 0x77ffd000 	C:\WINNT\system32\ntdll.dll
0x7c2d0000 - 0x7c332000 	C:\WINNT\system32\ADVAPI32.dll
0x7c570000 - 0x7c623000 	C:\WINNT\system32\KERNEL32.DLL
0x77d30000 - 0x77da1000 	C:\WINNT\system32\RPCRT4.DLL
0x77e10000 - 0x77e6f000 	C:\WINNT\system32\USER32.dll
0x77f40000 - 0x77f7b000 	C:\WINNT\system32\GDI32.dll
0x78000000 - 0x78045000 	C:\WINNT\system32\MSVCRT.dll
0x75e60000 - 0x75e7a000 	C:\WINNT\system32\IMM32.DLL
0x6d640000 - 0x6d7c5000 	C:\Java\jre1.5\bin\client\jvm.dll
0x77570000 - 0x775a0000 	C:\WINNT\system32\WINMM.dll
0x6bc00000 - 0x6bc14000 	C:\WINNT\system32\DrvTrNTm.dll
0x6bc20000 - 0x6bc3c000 	C:\WINNT\system32\DrvTrNTl.dll
0x6d280000 - 0x6d288000 	C:\Java\jre1.5\bin\hpi.dll
0x690a0000 - 0x690ab000 	C:\WINNT\system32\PSAPI.DLL
0x6d610000 - 0x6d61c000 	C:\Java\jre1.5\bin\verify.dll
0x6d300000 - 0x6d31d000 	C:\Java\jre1.5\bin\java.dll
0x6d630000 - 0x6d63f000 	C:\Java\jre1.5\bin\zip.dll
0x6d4c0000 - 0x6d4d3000 	C:\java\jre1.5\bin\net.dll
0x75030000 - 0x75044000 	C:\WINNT\system32\WS2_32.dll
0x75020000 - 0x75028000 	C:\WINNT\system32\WS2HELP.DLL
0x6d4e0000 - 0x6d4e9000 	C:\java\jre1.5\bin\nio.dll
0x17690000 - 0x176e0000 
C:\java\eclipse\configuration\org.eclipse.osgi\bundles\61\1\.cp\swt-win32-3138.dll
0x77a50000 - 0x77b3f000 	C:\WINNT\system32\ole32.dll
0x71710000 - 0x71794000 	C:\WINNT\system32\COMCTL32.dll
0x76b30000 - 0x76b6e000 	C:\WINNT\system32\comdlg32.dll
0x70a70000 - 0x70ad6000 	C:\WINNT\system32\SHLWAPI.DLL
0x782f0000 - 0x78535000 	C:\WINNT\system32\SHELL32.DLL
0x779b0000 - 0x77a4b000 	C:\WINNT\system32\OLEAUT32.dll
0x66650000 - 0x666a4000 	C:\WINNT\system32\USP10.dll
0x17c10000 - 0x17c19000 	C:\WINNT\system32\PGPhk.dll
0x17d70000 - 0x17d78000 
C:\java\eclipse\configuration\org.eclipse.osgi\bundles\13\1\.cp\os\win32\x86\core_3_1_0.dll
0x69640000 - 0x6965f000 	C:\WINNT\system32\oleacc.dll
0x775a0000 - 0x77630000 	C:\WINNT\system32\CLBCATQ.DLL
0x70440000 - 0x704cf000 	C:\WINNT\System32\mlang.dll
0x77820000 - 0x77827000 	C:\WINNT\system32\VERSION.dll
0x759b0000 - 0x759b6000 	C:\WINNT\system32\LZ32.DLL
0x6b2c0000 - 0x6b2c5000 	C:\WINNT\system32\msimg32.dll
0x18b60000 - 0x18b66000 	C:\Program Files\utilities\WinRoll\winroll.dll
0x18b70000 - 0x18b82000 	C:\imagers\peepshowlite\peepsmhk.dll

VM Arguments:
jvm_args: -Xms40m -Xmx256m
java_command: C:\java\eclipse\startup.jar -os win32 -ws win32 -arch x86
-launcher C:\java\eclipse\eclipse.exe -name Eclipse -showsplash 600 -exitdata
144_44 -vm C:\WINNT\system32\javaw.exe -vmargs -Xms40m -Xmx256m -jar
C:\java\eclipse\startup.jar

Environment Variables:
PATH=C:\Perl\bin\;F:\Perl\bin\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program
Files\Common Files\Adaptec Shared\System;C:\Program Files\Sonic\MyDVD;C:\Program
Files\Network
Associates\PGPNT;f:\perl\bin;f:\rktools\bin;f:\mysql\bin;C:\Program
Files\Symantec\pcAnywhere\;C:\Program
Files\cvsnt;c:\java\run;c:\programs\python;C:\Program Files\Microsoft Visual
Studio\Common\MSDev98\Bin;
USERNAME=ddyer
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 7, GenuineIntel


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

OS: Windows 2000 Build 2195 Service Pack 4

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

Memory: 4k page, physical 523244k(124220k free), swap 2022288k(1404484k free)

vm_info: Java HotSpot(TM) Client VM (1.5.0_02-b09) for windows-x86, built on Mar
 4 2005 01:53:53 by "java_re" with MS VC++ 6.0
Comment 1 Rafael Chaves CLA 2005-07-01 15:28:29 EDT
Dup/related to bug 102139?
Comment 2 Olivier Thomann CLA 2005-07-01 16:14:13 EDT
Try a newer build.

If you still get it, please report the problem to the VM vendor.
Closing as INVALID.
Comment 3 Dave Dyer CLA 2005-07-01 16:54:06 EDT
This is an extremely serious problem.  Besides the JVM crash, I also
mentioned BSOD twice (which is now 3 times BTW). 

If there is something in Eclipse that is tickling a JVM bug, or a 
Win2K bug, you're going to have to deal with it one way or another,
and you (as a representative of a truely major application) are in
a much better position than I am to get the attention of Sun or Microsoft.

You should at least leave this bug open to act as a collection point
for similar reports.
Comment 4 Philipe Mulet CLA 2005-07-04 07:13:28 EDT
Please provide exact steps to reproduce. We usually see VM crashes under linux
AMD64 mostly. As to reporting to VM vendor, we don't have a reproducing case
which you seem to have. Our sources/binaries are freely available, so there is
nothing we do not expose to get the bug out of the VM.

Also trying a newer VM version may improve the behavior. Last, remember that
Eclipse only needs a 1.4 level JRE to run on.

Pls reopen once detailed steps are available.
Comment 5 Philipe Mulet CLA 2005-07-04 07:15:12 EDT
BTW, we have lots of similar configs, and never observed such a crash over time. 
Comment 6 Dave Dyer CLA 2005-07-04 12:28:09 EDT
There are no steps to reproduce, other than having my project
environment.  The crash occurs just as the initial splash
screen is being produced.   Historically, these JVM crashes
occur a few up to a dozen times before I get a successful
launch or achieve BSOD status. 

As for trying a newer build, RC3 was the newest I could find.
One related datum is that I backed out of RC3 to  I20050401-1645
and the problem has vanished, which I take as good evidence that
the crash is not caused by a damaged JVM or Win2K installation.

Unfortunately, my initial startup involves a huge project with over 
200 source files, which I am not able to simply post for you to
take or leave at your leisure.  I would consider working directly
with some partular developer who is going to spend a substantial
amount of time trying to reproduce the problem.
Comment 7 Frederic Fusier CLA 2006-02-03 06:10:18 EST
Close as there have been no activity for 6 months.
Please reopen if you still experiment this issue with latest eclipse build and 1.5 VM, thanks
Comment 8 Achim Graute CLA 2006-03-30 04:11:10 EST
Today I have this bug too. It occurs every time I starts my Eclipse JBossIDE 1.5.
After a while and with comparison of the configuration path, I found out, that the bug occurs because in the variable RECENT_WORKSPACES a not existing path was set.
Comment 9 Philipe Mulet CLA 2006-03-30 06:59:29 EST
Interesting find.
Comment 10 Philipe Mulet CLA 2006-03-30 07:00:01 EST
Moving to UI which defines this field.
Comment 11 Nick Edgar CLA 2006-03-30 09:36:08 EST
Boris, can you investigate the last point?
Comment 12 Michael Van Meekeren CLA 2006-04-21 12:28:00 EDT
I don't see why we think there is any link between the bug in comment #8 and the initial report. He says it occurs every time (not sometimes).

I'll log a new bug for Achims problem?  If you disagree and are seeing the same stack trace in your log etc... please let us know.

I'm moving this bug back to JDT Core.
Comment 13 Michael Van Meekeren CLA 2006-04-21 12:30:19 EDT
logged 137986 for the bug from Achim
Comment 14 Michael Van Meekeren CLA 2006-04-21 12:31:25 EDT
Achim, please see last 2 comments from me.
Comment 15 Jerome Lanneluc CLA 2006-04-24 11:10:11 EDT
According to the initial trace, this is a JIT bug that is fixed by taking the latest 1.5.0 JRE from Sun.

*** This bug has been marked as a duplicate of 71987 ***