Community
Participate
Working Groups
I tried running a headless antRunner invocation on a system that didn't have a proper SWT bundle, and the .log file complained with the following errors: !ENTRY org.eclipse.equinox.ds 4 0 2014-04-14 23:42:03.499 !MESSAGE [SCR] Exception while activating instance org.eclipse.e4.ui.css.swt.internal.theme.ThemeEngineManager@635aed57 of component org.eclipse.e4.ui.css.swt.theme !STACK 0 java.lang.NoClassDefFoundError: org/eclipse/swt/widgets/Display at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2484) at java.lang.Class.getDeclaredMethods(Class.java:1827) at org.eclipse.equinox.internal.ds.model.ServiceComponent.getMethod(ServiceComponent.java:126) at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:213) at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146) at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345) at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620) at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197) at org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:473) at org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217) at org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816) at org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783) at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89) at java.lang.Thread.run(Thread.java:678) Caused by: java.lang.ClassNotFoundException: org.eclipse.swt.widgets.Display at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 15 more Here's the invocation I was using: java -Xms50M -Xmx748M -Xmx2048M -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=48m -cp ~/eclipse/plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar org.eclipse.core.launcher.Main -nosplash -application org.eclipse.ant.core.antRunner -buildfile ~/build.xml To reproduce, try running the above on an Eclipse-SDK for the wrong operating system (like put the win32 SDK on a linux box). The issue is that it's going ahead and starting up equinox.ds when it's not expected to.
Our DS definition for org.eclipse.e4.ui.css.swt.theme.IThemeManager includes immediate="true". Daniel, can we remove this? PW
(In reply to Paul Webster from comment #1) > Our DS definition for org.eclipse.e4.ui.css.swt.theme.IThemeManager includes > immediate="true". > > Daniel, can we remove this? ping PW
Yes we can. Fix committed (with wrong bug) as: https://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=25dcd03c26c6e82acb48a964fd3c1ade3f3868be Time to go home.
Verified in I20140428-2000: invoking AntRunner can still fail as it somehow activates org.eclipse.ui.workbench, but it doesn't happen from the theme manager. Running with a -debug .options containing 'org.eclipse.osgi/debug/services=true' doesn't show any IThemeManager activations either. $ eclipse -consolelog -ws foo -application org.eclipse.ant.core.antRunner $ ~/ec-28/eclipse/eclipse -consolelog -ws foo -application org.eclipse.ant.core.antRunner !SESSION 2014-04-29 12:37:18.518 ----------------------------------------------- eclipse.buildId=4.4.0.I20140428-2000 java.version=1.8.0 java.vendor=Oracle Corporation BootLoader constants: OS=macosx, ARCH=x86_64, WS=foo, NL=en_CA Framework arguments: -application org.eclipse.ant.core.antRunner Command-line arguments: -os macosx -ws foo -arch x86_64 -consolelog -application org.eclipse.ant.core.antRunner !ENTRY org.eclipse.osgi 4 0 2014-04-29 12:37:20.774 !MESSAGE An error occurred while automatically activating bundle org.eclipse.ui.workbench (227). !STACK 0 org.osgi.framework.BundleException: Error starting module. at org.eclipse.osgi.container.Module.doStart(Module.java:580) at org.eclipse.osgi.container.Module.start(Module.java:439) 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.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.framework.BundleContextImpl.loadBundleActivator(BundleContextImpl.java:754) at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:706) at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:936) at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:319) at org.eclipse.osgi.container.Module.doStart(Module.java:571) at org.eclipse.osgi.container.Module.start(Module.java:439) at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:575) at org.eclipse.ant.core.AntCorePreferences$WrappedClassLoader.findClass(AntCorePreferences.java:93) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at org.eclipse.ant.internal.core.AntClassLoader.loadClassPlugins(AntClassLoader.java:68) at org.eclipse.ant.internal.core.AntClassLoader.findClass(AntClassLoader.java:46) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at org.eclipse.ant.core.AntRunner.run(AntRunner.java:508) at org.eclipse.ant.core.AntRunner.start(AntRunner.java:607) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:379) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:233) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603) at org.eclipse.equinox.launcher.Main.run(Main.java:1465) Caused by: java.lang.NoClassDefFoundError: org/eclipse/swt/SWTError at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2658) at java.lang.Class.getConstructor0(Class.java:2964) at java.lang.Class.newInstance(Class.java:403) at org.eclipse.osgi.internal.framework.BundleContextImpl.loadBundleActivator(BundleContextImpl.java:755) at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:706) at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:936) at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:319) at org.eclipse.osgi.container.Module.doStart(Module.java:571) ... 37 more Caused by: java.lang.ClassNotFoundException: org.eclipse.swt.SWTError cannot be found by org.eclipse.ui.workbench_3.106.0.v20140427-1557 at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:423) 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) ... 46 more Root exception: java.lang.NoClassDefFoundError: org/eclipse/swt/SWTError at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2658) at java.lang.Class.getConstructor0(Class.java:2964) at java.lang.Class.newInstance(Class.java:403) at org.eclipse.osgi.internal.framework.BundleContextImpl.loadBundleActivator(BundleContextImpl.java:755) at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:706) at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:936) at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:319) at org.eclipse.osgi.container.Module.doStart(Module.java:571) at org.eclipse.osgi.container.Module.start(Module.java:439) 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.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.framework.BundleContextImpl.loadBundleActivator(BundleContextImpl.java:754) at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:706) at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:936) at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:319) at org.eclipse.osgi.container.Module.doStart(Module.java:571) at org.eclipse.osgi.container.Module.start(Module.java:439) at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:575) at org.eclipse.ant.core.AntCorePreferences$WrappedClassLoader.findClass(AntCorePreferences.java:93) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at org.eclipse.ant.internal.core.AntClassLoader.loadClassPlugins(AntClassLoader.java:68) at org.eclipse.ant.internal.core.AntClassLoader.findClass(AntClassLoader.java:46) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at org.eclipse.ant.core.AntRunner.run(AntRunner.java:508) at org.eclipse.ant.core.AntRunner.start(AntRunner.java:607) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:379) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:233) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603) at org.eclipse.equinox.launcher.Main.run(Main.java:1465) Caused by: java.lang.ClassNotFoundException: org.eclipse.swt.SWTError cannot be found by org.eclipse.ui.workbench_3.106.0.v20140427-1557 at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:423) 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) ... 46 more !ENTRY org.eclipse.osgi 2 0 2014-04-29 12:37:20.776 !MESSAGE org.eclipse.ant.internal.core.ant.InternalAntRunner cannot be found by org.eclipse.ant.ui_3.5.500.v20140428-1522 !STACK 0 java.lang.ClassNotFoundException: org.eclipse.ant.internal.core.ant.InternalAntRunner cannot be found by org.eclipse.ant.ui_3.5.500.v20140428-1522 at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:423) 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 org.eclipse.ant.core.AntCorePreferences$WrappedClassLoader.findClass(AntCorePreferences.java:93) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at org.eclipse.ant.internal.core.AntClassLoader.loadClassPlugins(AntClassLoader.java:68) at org.eclipse.ant.internal.core.AntClassLoader.findClass(AntClassLoader.java:46) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at org.eclipse.ant.core.AntRunner.run(AntRunner.java:508) at org.eclipse.ant.core.AntRunner.start(AntRunner.java:607) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:379) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:233) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603) at org.eclipse.equinox.launcher.Main.run(Main.java:1465) Buildfile: /Users/bsd/ec-28/eclipse/Eclipse.app/Contents/MacOS/build.xml BUILD FAILED Buildfile: /Users/bsd/ec-28/eclipse/Eclipse.app/Contents/MacOS/build.xml does not exist Total time: 0 seconds !ENTRY org.eclipse.swt.cocoa.macosx.x86_64 2 0 2014-04-29 12:37:21.076 !MESSAGE Could not resolve module: org.eclipse.swt.cocoa.macosx.x86_64 [200] Unresolved requirement: Require-Capability: eclipse.platform; filter:="(& (osgi.ws=cocoa) (osgi.os=macosx) (osgi.arch=x86_64) )" !ENTRY org.eclipse.equinox.launcher.cocoa.macosx.x86_64 2 0 2014-04-29 12:37:21.077 !MESSAGE Could not resolve module: org.eclipse.equinox.launcher.cocoa.macosx.x86_64 [99] Unresolved requirement: Require-Capability: eclipse.platform; filter:="(& (osgi.ws=cocoa) (osgi.os=macosx) (osgi.arch=x86_64) )" !ENTRY org.eclipse.ui.cocoa 2 0 2014-04-29 12:37:21.077 !MESSAGE Could not resolve module: org.eclipse.ui.cocoa [210] Unresolved requirement: Require-Capability: eclipse.platform; filter:="(osgi.ws=cocoa)" !ENTRY org.eclipse.e4.ui.workbench.renderers.swt.cocoa 2 0 2014-04-29 12:37:21.077 !MESSAGE Could not resolve module: org.eclipse.e4.ui.workbench.renderers.swt.cocoa [69] Unresolved requirement: Require-Capability: eclipse.platform; filter:="(osgi.ws=cocoa)" !ENTRY org.eclipse.osgi 4 0 2014-04-29 12:37:21.079 !MESSAGE Application error !STACK 1 java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.eclipse.ant.core.AntRunner.run(AntRunner.java:511) at org.eclipse.ant.core.AntRunner.start(AntRunner.java:607) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:379) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:233) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603) at org.eclipse.equinox.launcher.Main.run(Main.java:1465) Caused by: Buildfile: /Users/bsd/ec-28/eclipse/Eclipse.app/Contents/MacOS/build.xml does not exist at org.eclipse.ant.internal.core.ant.InternalAntRunner.parseBuildFile(InternalAntRunner.java:374) at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:673) at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:566) ... 18 more Root exception: Buildfile: /Users/bsd/ec-28/eclipse/Eclipse.app/Contents/MacOS/build.xml does not exist at org.eclipse.ant.internal.core.ant.InternalAntRunner.parseBuildFile(InternalAntRunner.java:374) at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:673) at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:566) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.eclipse.ant.core.AntRunner.run(AntRunner.java:511) at org.eclipse.ant.core.AntRunner.start(AntRunner.java:607) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:379) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:233) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603) at org.eclipse.equinox.launcher.Main.run(Main.java:1465)