shdqcdsn / counterclockwise

Automatically exported from code.google.com/p/counterclockwise
0 stars 0 forks source link

deadlock while loading class "org.eclipse.ui.editors.text.TextEditor" #654

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Install SpringSource STS
2. Install CCW
3. Look at the .log file in the workspace

WORKSPACE LOG
!ENTRY org.eclipse.osgi 2 0 2014-09-17 10:58:09.311
!MESSAGE While loading class "org.eclipse.ui.editors.text.TextEditor", thread 
"Thread[main,6,main]" timed out waiting (5002ms) for thread 
"Thread[Worker-3,5,main]" to finish starting bundle 
"org.eclipse.ui.editors_3.8.200.v20140401-1310 [739]". To avoid deadlock, 
thread "Thread[main,6,main]" is proceeding but 
"org.eclipse.ui.editors.text.TextEditor" may not be fully initialized.
!STACK 0
org.osgi.framework.BundleException: Unable to acquire the state change lock for 
the module: osgi.identity; osgi.identity="org.eclipse.ui.editors"; 
type="osgi.bundle"; version:Version="3.8.200.v20140401-1310"; singleton:="true" 
[id=739] STARTED [STARTED]
        at org.eclipse.osgi.container.Module.lockStateChange(Module.java:329)
        at org.eclipse.osgi.container.Module.start(Module.java:389)
        at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:454)
        at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
        at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:531)
        at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)
        at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:311)
        at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:382)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:336)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:328)
        at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
        at org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:272)
        at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:632)
        at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:588)
        at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:540)
        at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:527)
        at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)
        at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:311)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:386)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:336)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:328)
        at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:568)
        at ccw.util.osgi.BundleClassLoader.findClass(BundleClassLoader.java:27)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:411)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:411)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:411)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:411)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:259)
        at ccw.leiningen.handlers$eval26$loading__4958__auto____27.invoke(handlers.clj:1)
        at ccw.leiningen.handlers$eval26.invoke(handlers.clj:1)
        at clojure.lang.Compiler.eval(Compiler.java:6703)
        at clojure.lang.Compiler.eval(Compiler.java:6692)
        at clojure.lang.Compiler.load(Compiler.java:7130)
        at clojure.lang.RT.loadResourceScript(RT.java:370)
        at clojure.lang.RT.loadResourceScript(RT.java:361)
        at clojure.lang.RT.load(RT.java:440)
        at clojure.lang.RT.load(RT.java:411)
        at clojure.core$load$fn__5066.invoke(core.clj:5641)
        at clojure.core$load.doInvoke(core.clj:5640)
        at clojure.lang.RestFn.invoke(RestFn.java:408)
        at clojure.core$load_one.invoke(core.clj:5446)
        at clojure.core$load_lib$fn__5015.invoke(core.clj:5486)
        at clojure.core$load_lib.doInvoke(core.clj:5485)
        at clojure.lang.RestFn.applyTo(RestFn.java:142)
        at clojure.core$apply.invoke(core.clj:626)
        at clojure.core$load_libs.doInvoke(core.clj:5524)
        at clojure.lang.RestFn.applyTo(RestFn.java:137)
        at clojure.core$apply.invoke(core.clj:626)
        at clojure.core$require.doInvoke(core.clj:5607)
        at clojure.lang.RestFn.invoke(RestFn.java:408)
        at ccw.core.factories$handler_factory.invoke(factories.clj:10)
        at clojure.lang.Var.invoke(Var.java:379)
        at ccw.util.GenericExecutableExtension$1.run(GenericExecutableExtension.java:28)
        at ccw.util.osgi.ClojureOSGi.withBundle(ClojureOSGi.java:71)
        at ccw.util.osgi.ClojureOSGi.withBundle(ClojureOSGi.java:44)
        at ccw.util.GenericExecutableExtension.create(GenericExecutableExtension.java:25)
        at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:262)
        at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
        at org.eclipse.ui.internal.handlers.HandlerProxy.loadHandler(HandlerProxy.java:353)
        at org.eclipse.ui.internal.handlers.HandlerProxy.setEnabled(HandlerProxy.java:231)
        at org.eclipse.ui.internal.handlers.E4HandlerProxy.canExecute(E4HandlerProxy.java:71)
        at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:483)
        at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
        at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:247)

What version of the product are you using? On what operating system?
- Mac OS X 10.9.4
- STS 3.6.1.20140825

*** Date: Wednesday, September 17, 2014 at 11:15:47 AM Eastern Daylight Time

*** Platform Details:

*** System properties:
applicationXMI=org.eclipse.ui.workbench/LegacyIDE.e4xmi
awt.toolkit=sun.lwawt.macosx.LWCToolkit
com.atlassian.connector.eclipse.branding.ui.isOnlyJiraInstalled=true
eclipse.application=org.eclipse.ui.ide.workbench
eclipse.buildId=3.6.1.201408250818-RELEASE-e44
eclipse.commands=-os
macosx
-ws
cocoa
-arch
x86_64
-showsplash
-launcher
/Library/springsource/sts-3.6.0.RELEASE/STS.app/Contents/MacOS/STS
-name
STS
--launcher.library
/Library/springsource/sts-3.6.0.RELEASE/STS.app/Contents/MacOS//../../../plugins
/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.200.v20140603-1326/eclipse
_1601.so
-startup
/Library/springsource/sts-3.6.0.RELEASE/STS.app/Contents/MacOS//../../../plugins
/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.overrideVmargs
-product
org.springsource.sts.ide
-keyring
/Users/kpietrzak/.eclipse_keyring
-showlocation
-vm
/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/bin/../jre/lib/s
erver/libjvm.dylib
eclipse.home.location=file:/Library/springsource/sts-3.6.0.RELEASE/
eclipse.launcher=/Library/springsource/sts-3.6.0.RELEASE/STS.app/Contents/MacOS/
STS
eclipse.launcher.name=STS
eclipse.p2.data.area=@config.dir/../p2/
eclipse.p2.profile=DefaultProfile
eclipse.product=org.springsource.sts.ide
eclipse.startTime=1410966666305
eclipse.stateSaveDelayInterval=30000
eclipse.vm=/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/bin/.
./jre/lib/server/libjvm.dylib
eclipse.vmargs=-Dosgi.requiredJavaVersion=1.6
-Xms1g
-Xmx2g
-XX:MaxPermSize=512m
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-Xdock:icon=../Resources/sts.icns
-Djava.class.path=/Library/springsource/sts-3.6.0.RELEASE/STS.app/Contents/MacOS
//../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
equinox.use.ds=true
file.encoding=UTF-8

Original issue reported on code.google.com by kap4...@gmail.com on 17 Sep 2014 at 3:19

Attachments:

GoogleCodeExporter commented 9 years ago

Original comment by laurent....@gmail.com on 18 Sep 2014 at 8:42

GoogleCodeExporter commented 9 years ago

Original comment by laurent....@gmail.com on 25 Sep 2014 at 8:04

GoogleCodeExporter commented 9 years ago

Original comment by laurent....@gmail.com on 25 Sep 2014 at 9:26

GoogleCodeExporter commented 9 years ago
Happens on Debian testing too.

Original comment by foober...@gmail.com on 15 Oct 2014 at 12:03

GoogleCodeExporter commented 9 years ago
Ouch, this seems like a severe issue, happening again ...

Some nasty interaction between classloaders ...

Looking at it, it really bothers me that this problem surfaces again ... :-(

Original comment by laurent....@gmail.com on 16 Oct 2014 at 9:27

GoogleCodeExporter commented 9 years ago
@laurent:  If you could give a short explanation, perhaps I could take a look 
at it as well. What do you think the issue is?

Original comment by kap4...@gmail.com on 16 Oct 2014 at 9:54

GoogleCodeExporter commented 9 years ago
This line:

"at 
ccw.leiningen.handlers$eval26$loading__4958__auto____27.invoke(handlers.clj:1)"

suggests that ccw.leiningen.handlers doesn't manage to load properly ... or at 
least deadlocks waiting for a class to load ...

- Does your .log file contain more information?
- Does the problem occur everytime, repeatably? (I downloaded STS, then 
installed CCW, and unfortunately wasn't able to reproduce the issue)

=> If you manage to get a "recipe" for systematically reproduce the problem, 
this would be of great great help!

Original comment by laurent....@gmail.com on 16 Oct 2014 at 10:10

GoogleCodeExporter commented 9 years ago
Also, I'd like to know : what works and what doesn't work then?

Original comment by laurent....@gmail.com on 16 Oct 2014 at 10:19

GoogleCodeExporter commented 9 years ago
For me, eclipse completely stops loading. It just hangs at the loading screen. 
*If* it occurs, it occurs repeatedly. Usually, I manage to get it to run after 
killing and restarting eclipse a few dozen times, sometimes with `-clean`.
Currently everything works again and I haven't found a way to force eclipse 
into the state where this happens.

Original comment by foober...@gmail.com on 17 Oct 2014 at 6:41

GoogleCodeExporter commented 9 years ago

Original comment by laurent....@gmail.com on 20 Oct 2014 at 8:56

GoogleCodeExporter commented 9 years ago
Unfortunately, without a reproducible recipe, I cannot do much.
Of course, I'll hunt the problem down if I encounter it and can reproduce it.
But right now ... closing the issue as not reproducible, alas.

Original comment by laurent....@gmail.com on 12 Nov 2014 at 10:26