Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 421801 - M3 Hang during splash
Summary: M3 Hang during splash
Status: RESOLVED DUPLICATE of bug 421706
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.3   Edit
Hardware: PC Windows Vista
: P3 critical (vote)
Target Milestone: ---   Edit
Assignee: Platform-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-11-15 02:34 EST by Ed Willink CLA
Modified: 2013-11-15 15:25 EST (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ed Willink CLA 2013-11-15 02:34:48 EST
M3. After applying a P2 update (Diagram Editor for Ecore) from staging and restarting, Eclipse hangs during the splash.

Starting the same M3 config with a different workspace also hangs.

Starting an M2 config, I can debug 14143 and suspend to see the original hang below:

Debug Eclipse 14143 [Remote Java Application]	
	Java HotSpot(TM) Client VM [localhost:14143] (Suspended)	
		Daemon Thread [[ThreadPool Manager] - Idle Thread] (Suspended)	
			waiting for: Executor  (id=2)	
			Object.wait(long) line: not available [native method]	
			Executor(Object).wait() line: 503	
			Executor.run() line: 106	
		Daemon Thread [[Timer] - Main Queue Handler] (Suspended)	
			waiting for: Object  (id=47)	
			Object.wait(long) line: not available [native method]	
			TimerImpl.run() line: 141	
			Thread.run() line: 724	
		Daemon Thread [Refresh Thread: Equinox Container: d0f773d5-c54d-0013-1eef-bcab5f4c4b88] (Suspended)	
			waiting for: EventManager$EventThread<K,V,E>  (id=4)	
			Object.wait(long) line: not available [native method]	
			EventManager$EventThread<K,V,E>(Object).wait() line: 503	
			EventManager$EventThread<K,V,E>.getNextEvent() line: 400	
			EventManager$EventThread<K,V,E>.run() line: 336	
		Daemon Thread [Start Level: Equinox Container: d0f773d5-c54d-0013-1eef-bcab5f4c4b88] (Suspended)	
			waiting for: EventManager$EventThread<K,V,E>  (id=5)	
			Object.wait(long) line: not available [native method]	
			EventManager$EventThread<K,V,E>(Object).wait() line: 503	
			EventManager$EventThread<K,V,E>.getNextEvent() line: 400	
			EventManager$EventThread<K,V,E>.run() line: 336	
		Daemon Thread [Framework Event Dispatcher: Equinox Container: d0f773d5-c54d-0013-1eef-bcab5f4c4b88] (Suspended)	
			waiting for: EventManager$EventThread<K,V,E>  (id=6)	
			Object.wait(long) line: not available [native method]	
			EventManager$EventThread<K,V,E>(Object).wait() line: 503	
			EventManager$EventThread<K,V,E>.getNextEvent() line: 400	
			EventManager$EventThread<K,V,E>.run() line: 336	
		Thread [Active Thread: Equinox Container: d0f773d5-c54d-0013-1eef-bcab5f4c4b88] (Suspended)	
			Unsafe.park(boolean, long) line: not available [native method]	
			LockSupport.parkNanos(Object, long) line: 226	
			AbstractQueuedSynchronizer$ConditionObject.awaitNanos(long) line: 2082	
			ScheduledThreadPoolExecutor$DelayedWorkQueue.take() line: 1090	
			ScheduledThreadPoolExecutor$DelayedWorkQueue.take() line: 807	
			ScheduledThreadPoolExecutor(ThreadPoolExecutor).getTask() line: 1068	
			ScheduledThreadPoolExecutor(ThreadPoolExecutor).runWorker(ThreadPoolExecutor$Worker) line: 1130	
			ThreadPoolExecutor$Worker.run() line: 615	
			Thread.run() line: 724	
		Daemon System Thread [Attach Listener] (Suspended)	
		Daemon System Thread [Signal Dispatcher] (Suspended)	
		Daemon System Thread [Finalizer] (Suspended)	
			waiting for: ReferenceQueue$Lock  (id=48)	
			Object.wait(long) line: not available [native method]	
			ReferenceQueue<T>.remove(long) line: 135	
			ReferenceQueue<T>.remove() line: 151	
			Finalizer$FinalizerThread.run() line: 189	
		Daemon System Thread [Reference Handler] (Suspended)	
			waiting for: Reference$Lock  (id=49)	
			Object.wait(long) line: not available [native method]	
			Reference$Lock(Object).wait() line: 503	
			Reference$ReferenceHandler.run() line: 133	
		Thread [main] (Suspended)	
			waiting for: Semaphore  (id=30)	
			Object.wait(long) line: not available [native method]	
			Semaphore.acquire(long) line: 55	
			EclipseStarter.updateSplash(Semaphore, EclipseStarter$StartupEventListener) line: 1152	
			EclipseStarter.setStartLevel(int) line: 1109	
			EclipseStarter.startup(String[], Runnable) line: 317	
			EclipseStarter.run(String[], Runnable) line: 222	
			NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
			NativeMethodAccessorImpl.invoke(Object, Object[]) line: 57	
			DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43	
			Method.invoke(Object, Object...) line: 606	
			Main.invokeFramework(String[], URL[]) line: 636	
			Main.basicRun(String[]) line: 591	
			Main.run(String[]) line: 1450	
			Main.main(String[]) line: 1426
Comment 1 Ed Willink CLA 2013-11-15 02:53:18 EST
I've archived the offending Eclipse installation (353MB) - C:/Tools/Eclipse/Bug421801.zip on my laptop. So just let me know which files you would like to see.
Comment 2 Ed Willink CLA 2013-11-15 04:13:21 EST
The log file shows (last line repeated to fill log)

!ENTRY org.eclipse.osgi 4 0 2013-11-15 07:16:27.419
!MESSAGE FrameworkEvent ERROR
!STACK 0
java.lang.StackOverflowError
	at java.util.HashMap.getEntry(HashMap.java:443)
	at java.util.HashMap.get(HashMap.java:405)
	at org.apache.felix.resolver.ResolverImpl.calculateExportedPackages(ResolverImpl.java:1504)
	at org.apache.felix.resolver.ResolverImpl.mergeCandidatePackages(ResolverImpl.java:827)
	at org.apache.felix.resolver.ResolverImpl.mergeCandidatePackages(ResolverImpl.java:862)
	at org.apache.felix.resolver.ResolverImpl.mergeCandidatePackages(ResolverImpl.java:887)
	at org.apache.felix.resolver.ResolverImpl.mergeCandidatePackages(ResolverImpl.java:887)
	at org.apache.felix.resolver.ResolverImpl.mergeCandidatePackages(ResolverImpl.java:887)
	at org.apache.felix.resolver.ResolverImpl.mergeCandidatePackages(ResolverImpl.java:887)
Comment 3 Ed Willink CLA 2013-11-15 04:37:27 EST
I just upgraded my M2 installation to include Diagram Editor for Ecore from staging. This contributes org.eclipse.emf.ecoretools_2.0.0.201310251330.jar amongst other files. On restart M2 hangs as well, but as yet no log file.

Looks as if EcoreTools M3 causes something nasty to happen.
Comment 4 David Williams CLA 2013-11-15 08:13:05 EST
Does your procedure/install pull in the Sirius bundle? 

If so, this is dup (of either bug 421706 or bug 421765 ... both of which participate in this problem ... if Sirius is involved).
Comment 5 David Williams CLA 2013-11-15 08:14:22 EST
(In reply to David Williams from comment #4)
> Does your procedure/install pull in the Sirius bundle? 
> 
> If so, this is dup (of either bug 421706 or bug 421765 ... both of which
> participate in this problem ... if Sirius is involved).

I should say, if Sirius is not involved, then you may have another important use case for bug 421706.
Comment 6 Laurent Goubet CLA 2013-11-15 08:16:11 EST
[edit : David has replied since then, commenting still :p]

Seems like a duplicate of bug 421765. Definitely looks like Sirius-related anyway, should probably be reaffected.

Pierre-Charles indicates in bug 421765 comment 4 that the fix he implemented seems to solve the issue in the case of the modeling package. Could you check whether this fixes the problem in your case too, and mark this as a duplicate if it does?
Comment 7 Ed Willink CLA 2013-11-15 08:43:06 EST
Yes. The EcoreTools install pulled in 4 plugins, so there is some duplication.

However Bug 421706 and Bug 421765 are discussing a Sirius fix.

It seems to me that stupid plugins should not cripple Eclipse, so there is an Eclipse RT/P2 bug too.
Comment 8 David Williams CLA 2013-11-15 08:50:08 EST
(In reply to Ed Willink from comment #7)
> Yes. The EcoreTools install pulled in 4 plugins, so there is some
> duplication.
> 
> However Bug 421706 and Bug 421765 are discussing a Sirius fix.
> 
> It seems to me that stupid plugins should not cripple Eclipse, so there is
> an Eclipse RT/P2 bug too.

bug 421706 is for the equinox fix ... but, that'll take more time and thought than the Sirius fix. 

Good thing we test early, eh? 

One question, slightly off topic of this bug, but how many "modeling projects" use Sirius? Does this but in M3 Sim. Release repo going to effect nearly all modeling projects?
Comment 9 Ed Willink CLA 2013-11-15 09:03:59 EST
(In reply to David Williams from comment #8)
> One question, slightly off topic of this bug, but how many "modeling
> projects" use Sirius? Does this but in M3 Sim. Release repo going to effect
> nearly all modeling projects?

I think the Sim Repo is safe. Sirius is very new and the problem is that a useful but optional editor has just made a major technology advance with an unfortunate hiccough. I was happily using M3 platform for nearly two weeks and M3 modelling projects (EMF, MWE, OCL, UML, Xpand, Xtend, Xtext) for a few days before installing the Diagram editor and  .... bang!
Comment 10 Paul Elder CLA 2013-11-15 10:03:19 EST
Definitely not a Platform UI problem. Marking as a duplicate bug 421706 (the underlying equinox problem). Reopen and reassign product/component if you disagree.

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