Bug 296434 - Workbench crashes during startup with EXCEPTION_ACCESS_VIOLATION
Summary: Workbench crashes during startup with EXCEPTION_ACCESS_VIOLATION
Status: RESOLVED WORKSFORME
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: Framework (show other bugs)
Version: 3.5   Edit
Hardware: PC Windows XP
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: equinox.framework-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: vm
Depends on:
Blocks:
 
Reported: 2009-11-30 03:03 EST by Frank Mising name CLA
Modified: 2018-01-05 17:39 EST (History)
5 users (show)

See Also:


Attachments
Error logfile (8.16 KB, text/plain)
2009-11-30 03:04 EST, Frank Mising name CLA
no flags Details
Error Logfile after migrating to Java 1.5.22 (26.11 KB, text/plain)
2009-12-08 04:25 EST, Frank Mising name CLA
no flags Details
Error Logfile after correcting JAVA_HOME (27.92 KB, text/plain)
2009-12-15 03:43 EST, Frank Mising name CLA
no flags Details
Error Logfile after migrating to JDK6u19 (9.26 KB, application/octet-stream)
2010-04-01 09:35 EDT, Frank Mising name CLA
no flags Details
Errorlog 3416 starting Eclipse via java -jar ... (9.02 KB, application/octet-stream)
2010-04-02 04:23 EDT, Frank Mising name CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Frank Mising name CLA 2009-11-30 03:03:02 EST
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.20) Gecko/20081217 Firefox/2.0.0.20
Build Identifier: 3.5 Galileo

Double-clicking on Eclipse icon causes workbench to begin startup sequence. Splash screen appears. Then, splash screens goes away and nothing happens, no java process visible. Sometimes, the IDE flashes up for a second, before all is gone. But mostly, the splash screen wents into nothing. hs_err_pid.log talks about EXCEPTION_ACCESS_VIOLATION (see attachment).

It does not happen EVERY time, but two out of three. If it happens, it happens stable and reproducable. Reboot sometimes helps. Never had anything similar with Ganymed or Europe on the very same machine.

Reproducible: Always

Steps to Reproduce:
1. Double-click Eclipse icon
2.
3.
Comment 1 Frank Mising name CLA 2009-11-30 03:04:15 EST
Created attachment 153319 [details]
Error logfile
Comment 2 Frank Mising name CLA 2009-11-30 03:20:35 EST
Today's way to solve the problem:

- close everything
- start Eclipse again and again
- the 4th try worked, once it is up and running, it stays up and running
Comment 3 Paul Webster CLA 2009-11-30 08:13:35 EST
The complaint looks like it is from your JVM jit compiler.  It is dying in the JVM code, and it looks like the JIT is trying to pre-compile a method.

You would need to run against the latest version of your JVM, java 5 is up to 1.5.0_22

If the problem still persists against the latest 1.5.0 JVM and a 1.6 JVM please re-open the bug.

PW
Comment 4 Paul Webster CLA 2009-11-30 15:11:48 EST
The underlying code that the JIT is trying to compile is different between 3.4 and 3.5 (and it might be hitting a edge condition in the JIT compiler)

PW
Comment 5 Frank Mising name CLA 2009-12-08 04:23:33 EST
a) I've migrated to 
java version "1.5.0_22"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03)
Java HotSpot(TM) Client VM (build 1.5.0_22-b03, mixed mode, sharing)
=> Problem still persist

b) I did not try Java 1.6. Was there any notice, that migrating to Galileo requires migrating Java from 1.5.x to 1.6.x ?

c) I always thought, Eclipse would come with an integrated "special" compiler and would need outside itself only a JRE for running my projects. Therefore I'm a little bit confused about a JDK outside of Eclipse disturbing the eclipse startup process. Is there an explanation about the nuts and bolts somewhere?
Comment 6 Frank Mising name CLA 2009-12-08 04:25:25 EST
Created attachment 153991 [details]
Error Logfile after migrating to Java 1.5.22
Comment 7 Prakash Rangaraj CLA 2009-12-08 04:38:50 EST
(In reply to comment #5)
> b) I did not try Java 1.6. Was there any notice, that migrating to Galileo
> requires migrating Java from 1.5.x to 1.6.x ?

    1.5 should be fine. 1.6 is not a requirement, although it should work fine on 1.6 VM

> c) I always thought, Eclipse would come with an integrated "special" compiler
> and would need outside itself only a JRE for running my projects. Therefore I'm
> a little bit confused about a JDK outside of Eclipse disturbing the eclipse
> startup process. Is there an explanation about the nuts and bolts somewhere?
 
    Eclipse has its own Java Compiler, so all it needs is a JRE. No JDK is required to run Eclipse. The Compiler Paul was taking about is the JIT compiler - its a part of JVM, where the byte codes are compiled to native code.
Comment 8 Frank Mising name CLA 2009-12-08 05:29:37 EST
(In reply to comment #7)
> (In reply to comment #5)
> > b) I did not try Java 1.6. Was there any notice, that migrating to Galileo
> > requires migrating Java from 1.5.x to 1.6.x ?
> 
>     1.5 should be fine. 1.6 is not a requirement, although it should work fine
> on 1.6 VM
> 

There is a major difference between using JDK/JRE 1.5.16 and 1.5.22: Eclipse doesn't start anymore!  Using 1.5.16, I could "start" it by "starting it 3 to 5 times". In the end, a stable GUI let me do my work. Now with 1.5.22, I double clicked Eclipse icon 20 times. Best result was a GUI, which disappeared into nothing after clicking the "Java perspective" icon.

What can I do to get back a working IDE?
Comment 9 Paul Webster CLA 2009-12-08 10:08:34 EST
(In reply to comment #6)
> Created an attachment (id=153991) [details]
> Error Logfile after migrating to Java 1.5.22

OK, this is a completely different problem than the JIT problem.  One thing comes to mind, fix JAVA_HOME:
JAVA_HOME=D:\dev\Java\jdk1.5.0_16

i.e. don't point to _16 when running _22 and try again.

As for why it's core dumping, it's dying way down in your NTDLL/MSVCRT code.  That indicates a problem with your windows install itself (at least to me), although you look to be on XP SP2 (which has always run fine for many people).

What is the filename of the Galileo zip you downloaded?  Did you unzip it into an empty directory?

PW
Comment 10 Paul Webster CLA 2009-12-14 08:01:33 EST
Please re-open with the requested info.

PW
Comment 11 Frank Mising name CLA 2009-12-15 03:42:12 EST
(In reply to comment #9)
> (In reply to comment #6)
> > Created an attachment (id=153991) [details] [details]
> > Error Logfile after migrating to Java 1.5.22
> 
> OK, this is a completely different problem than the JIT problem.  One thing
> comes to mind, fix JAVA_HOME:
> JAVA_HOME=D:\dev\Java\jdk1.5.0_16
> 
> i.e. don't point to _16 when running _22 and try again.

Yeah, sorry. Unfortunately Java-Installer doesn't correct JAVA_HOME while installing JDK/JRE. Fixed that: Problem went back to its original state. IDE needs two, three, four trys to come up. But if it's up, it's stable. 

> As for why it's core dumping, it's dying way down in your NTDLL/MSVCRT code. 
> That indicates a problem with your windows install itself (at least to me),
> although you look to be on XP SP2 (which has always run fine for many people).

As I said: Ganymede went well under 1.50_16 for a year or so. Never had a problem like this. This is not a fresh install on a new PC, but only a migration from Ganymede to Galileo. PC itself is a company's installation, which also runs  stable. Will attach newest Error-Log.

> 
> What is the filename of the Galileo zip you downloaded?  Did you unzip it into
> an empty directory?

eclipse-jee-galileo-SR1-win32.zip downloaded on November, 18th. Size is 198.751.043 Bytes. Yes, I used an empty directory named galileo. My structure is
dev\
    galileo\eclipse\...<the install package>
    ganymede\eclipse\...<the install package>
    workspaces\
               galileo\...<my projects>
               ganymede\...<my projects>

Regards,
Frank
Comment 12 Frank Mising name CLA 2009-12-15 03:43:54 EST
Created attachment 154457 [details]
Error Logfile after correcting JAVA_HOME
Comment 13 Paul Webster CLA 2009-12-15 07:45:31 EST
Frank, thank you for your patience.

With the last stack trace, it looks like bug 194943

I'm sending it to equinox to comment.

PW
Comment 14 Thomas Watson CLA 2009-12-15 09:44:46 EST
(In reply to comment #13)
> Frank, thank you for your patience.
> 
> With the last stack trace, it looks like bug 194943
> 
> I'm sending it to equinox to comment.
> 
> PW

To test this theory can you set osgi.bundlefile.limit=0 in your configuration/config.ini?  If this is bug 194943 revisited then this could work around the issue.
Comment 15 Frank Mising name CLA 2009-12-21 05:06:56 EST
(In reply to comment #14)
> (In reply to comment #13)
> > Frank, thank you for your patience.
> > With the last stack trace, it looks like bug 194943
> > I'm sending it to equinox to comment.
> > PW
> 
> To test this theory can you set osgi.bundlefile.limit=0 in your
> configuration/config.ini?  If this is bug 194943 revisited then this could work
> around the issue.

Thomas,

I've added that parameter to my config.ini and the problem disappeared. Some Eclipse-startups later none of it failed. It's a little bit difficult to test since the solution until now was to restart over and over again. But since a few days, no start failed, so it seems to be a working solution/workaround/whatever.

Be aware, that I needed to ADD the parameter, since it wasn't present in the ini-file.

Am I allowed to "close" that bug? I'm unsure, because you talked about a "work around". Maybe you want to leave it open. Therefore I'm switching to "resolved for me".

Regards,
Frank
Comment 16 Frank Mising name CLA 2010-04-01 09:35:40 EDT
Created attachment 163631 [details]
Error Logfile after migrating to JDK6u19
Comment 17 Frank Mising name CLA 2010-04-01 09:40:42 EDT
I've switched to JDK 6 (Update 19) and now the error persists very stable. It is not longer possible to open Eclipse. Tried it over and over: no way. I've attached the latest error logfile, which comes back to the EXCEPTION_ACCESS_VIOLATION. As in November: Splash screen comes up, shows a few percent of progress and disappears quietly into nothing. I can't use Eclipse at the moment, which is a serious problem. 
Immediate assistence kindly appreciated,
Frank
Comment 18 Thomas Watson CLA 2010-04-01 10:04:19 EDT
It is hard to tell what is going on here, other than it appears to have failed at the VM level.

One thing to try is to launch eclipse without the native launcher:

from your eclipse install folder run:

java -jar plugins/org.eclipse.equinox.launcher_<version>.jar

Where <version> is the version of the launcher for your eclipse installation.
Comment 19 Paul Webster CLA 2010-04-01 10:14:25 EDT
Why do you have these both in your path? C:/Programme/Java/jre6/bin/client;C:/Programme/Java/jre6/bin.  What happens if you remove the jre6/bin/client entry?

listed as JVM args: -Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m -XX:MaxPermSize=256m 

Do you still have osgi.bundlefile.limit=0 in your config.ini?

What happens if you run java.exe from your command line?

c:\path\to\eclipse> java.exe -jar plugins\org.eclipse.equinox.launcher_1.1.0.v20100307.jar

PW
Comment 20 Andrew Niefer CLA 2010-04-01 11:13:40 EDT
(In reply to comment #19)
> Why do you have these both in your path?
> C:/Programme/Java/jre6/bin/client;C:/Programme/Java/jre6/bin.  What happens if
> you remove the jre6/bin/client entry?

The launcher itself probably added this to the path for the launch, this comes from bug 170135.
Comment 21 Frank Mising name CLA 2010-04-02 04:20:44 EDT
(In reply to comment #18)
> It is hard to tell what is going on here, other than it appears to have failed
> at the VM level.
> One thing to try is to launch eclipse without the native launcher:
> from your eclipse install folder run:
> java -jar plugins/org.eclipse.equinox.launcher_<version>.jar
> Where <version> is the version of the launcher for your eclipse installation.

Thomas,
this is the screendump
-------------------------------------
D:\dev\eclipse\galileo\eclipse>java -jar plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d8a4ad5, pid=3416, tid=4064
#
# JRE version: 6.0_19-b04
# Java VM: Java HotSpot(TM) Client VM (16.2-b04 mixed mode, sharing windows-x86 )
# Problematic frame:
# V  [jvm.dll+0xa4ad5]
#
# An error report file with more information is saved as:
# D:\dev\eclipse\galileo\eclipse\hs_err_pid3416.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#
D:\dev\eclipse\galileo\eclipse>
-------------------------------------
Looks familiar. I've attached the mentioned 3416.log
Regards,
Frank
Comment 22 Frank Mising name CLA 2010-04-02 04:23:48 EDT
Created attachment 163709 [details]
Errorlog 3416 starting Eclipse via java -jar ...
Comment 23 Frank Mising name CLA 2010-04-02 04:42:07 EDT
(In reply to comment #19)
> Why do you have these both in your path?
> C:/Programme/Java/jre6/bin/client;C:/Programme/Java/jre6/bin.  What happens if
> you remove the jre6/bin/client entry?

In fact, I don't know, where this two entries come from. Therefore I can't remove them. My path is
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Programme\something-else
and that's it. My Java_Home is
JAVA_HOME=D:\dev\Java\jdk1.6.0_19
The JDK is installed in d:\dev\Java\... while the JRE is installed in c:\Programme\Java\...

C:\>java -version
java version "1.6.0_19"
Java(TM) SE Runtime Environment (build 1.6.0_19-b04)
Java HotSpot(TM) Client VM (build 16.2-b04, mixed mode, sharing)

> 
> listed as JVM args: -Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m
> -XX:MaxPermSize=256m 
> Do you still have osgi.bundlefile.limit=0 in your config.ini?

Yes:
#This configuration file was written by: org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxFwConfigFileParser
#Wed Nov 18 16:55:51 CET 2009
org.eclipse.update.reconcile=false
eclipse.p2.profile=epp.package.jee
osgi.instance.area.default=@user.home/workspace
osgi.framework=file\:plugins/org.eclipse.osgi_3.5.1.R35x_v20090827.jar
eclipse.buildId=M20090917-0800
osgi.bundles=reference\:file\:org.eclipse.equinox.simpleconfigurator_1.0.101.R35x_v20090807-1100.jar@1\:start
org.eclipse.equinox.simpleconfigurator.configUrl=file\:org.eclipse.equinox.simpleconfigurator/bundles.info
eclipse.product=org.eclipse.platform.ide
osgi.splashPath=platform\:/base/plugins/org.eclipse.platform
osgi.framework.extensions=reference\:file\:javax.transaction_1.1.1.v200909161740.jar,reference\:file\:org.eclipse.persistence.jpa.equinox.weaving_1.1.2.v20090612-r4475.jar
osgi.bundles.defaultStartLevel=4
eclipse.p2.data.area=@config.dir/../p2/
eclipse.application=org.eclipse.ui.ide.workbench
osgi.bundlefile.limit=0

> 
> What happens if you run java.exe from your command line?
> c:\path\to\eclipse> java.exe -jar
> plugins\org.eclipse.equinox.launcher_1.1.0.v20100307.jar

I'm sorry, I don't have this file. Instead I've got
org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
Results of that I've posted before

Kind regards
Frank
Comment 24 Thomas Watson CLA 2010-04-02 09:26:37 EDT
(In reply to comment #21)

This seems to rule out eclipse.exe but we are still loading the native launcher fragment.  How far does eclipse get in launching (the log says 35 seconds elapsed).  Is the splash screen still up?  Did you see any progress monitor on the splash screen?

Finally, could you give 3.6 M6 a try?
Comment 25 Frank Mising name CLA 2010-04-06 04:34:43 EDT
(In reply to comment #24)
> (In reply to comment #21)
> 
> This seems to rule out eclipse.exe but we are still loading the native launcher
> fragment.  How far does eclipse get in launching (the log says 35 seconds
> elapsed).  Is the splash screen still up?  Did you see any progress monitor on
> the splash screen?
> 
> Finally, could you give 3.6 M6 a try?

- Splash screen comes up always
- In the bottom line zero to five squares show up (10 to 20 percent of the whole splash screen width)
- I'm not sure about bypassing a buggy version onto the next one. I'm more likely to switch back to ganymede, which simply worked. First think I will try now is downgrading back to JRE-5
Comment 26 Frank Mising name CLA 2010-04-06 06:00:06 EDT
> - I'm not sure about bypassing a buggy version onto the next one. I'm more
> likely to switch back to ganymede, which simply worked. First think I will try
> now is downgrading back to JRE-5

I've removed JDK&JRE 6 und 1.5.0_22. Afterwards I've reinstalled JDK&JRE 1.5.0_22 and now, Galileo is working again.
Comment 27 Thomas Watson CLA 2018-01-05 17:39:21 EST
Resolving this old bug as worksforme.  I am pretty certain this was rooted in a Java bug that has been address in the latest versions of Java.