Community
Participate
Working Groups
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
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.
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)
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.
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).
(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.
[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?
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.
(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?
(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!
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 ***