Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 366434 - NoClassDefFoundError in JettyConfigurator
Summary: NoClassDefFoundError in JettyConfigurator
Status: RESOLVED INVALID
Alias: None
Product: Platform
Classification: Eclipse Project
Component: User Assistance (show other bugs)
Version: 4.2   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: platform-ua-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-12-12 12:03 EST by Carolyn MacLeod CLA
Modified: 2012-11-01 14:59 EDT (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 Carolyn MacLeod CLA 2011-12-12 12:03:21 EST
eclipse.buildId=I20111209-2100
java.version=1.5.0_14

Not sure why this error appears in my log. Perhaps because I have a view open in an old plug-in that I haven't installed yet?

org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: org/eclipse/equinox/http/jetty/JettyConfigurator
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:63)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:228)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:209)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:123)
	at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:161)
	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:717)
	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.handleWidgetSelection(HandledContributionItem.java:622)
	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$6(HandledContributionItem.java:606)
	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$3.handleEvent(HandledContributionItem.java:565)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:977)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:893)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:91)
	at org.eclipse.ui.internal.Workbench$3.run(Workbench.java:565)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:520)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:352)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:624)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:579)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1433)
Caused by: java.lang.NoClassDefFoundError: org/eclipse/equinox/http/jetty/JettyConfigurator
	at org.eclipse.help.internal.server.JettyHelpServer$StartServerThread.run(JettyHelpServer.java:78)
Comment 1 Remy Suen CLA 2011-12-19 08:53:25 EST
Based on the trace it seems to be caused by some user interaction with a widget. Unfortunately, it's not clear which handled item was being used here.
Comment 2 Grant Gayed CLA 2012-01-27 12:36:43 EST
I see this in the 3.8M5 candidate build.  I'm on AIX, and I believe the trigger was invoking content assist in a java editor for the first time.  My trace looks different than the one in comment 0 so it's pasted below:

eclipse.buildId=I20120125-1800
...
!ENTRY org.eclipse.core.jobs 4 2 2012-01-27 12:25:42.480
!MESSAGE An internal error occurred during: "Computing additional info".
!STACK 0
java.lang.NoClassDefFoundError: org.eclipse.equinox.http.jetty.JettyConfigurator
	at org.eclipse.help.internal.server.JettyHelpServer$StartServerThread.run(JettyHelpServer.java:78)
Caused by: java.lang.ClassNotFoundException: org.eclipse.equinox.http.jetty.JettyConfigurator
	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:606)
	... 1 more
Comment 3 Grant Gayed CLA 2012-01-27 12:49:39 EST
I see this in the 4.2M5 candidate build as well, same trigger (first use of content assist).
Comment 4 Thomas Watson CLA 2012-01-27 14:59:04 EST
One possibility is that the org.eclipse.equinox.http.jetty bundle failed to lazy activate, causing a class load error.  Can you attach the log file containing this error?
Comment 5 Carolyn MacLeod CLA 2012-09-07 11:40:04 EDT
I got this again on AIX. Here is the full content of the .metadata/.log (sorry to not attach... from AIX, it is easier for me to select all/copy/paste...). I'm not sure what the trigger was - I don't recall using content assist (and trying it again, it does not cause it to happen again). What I did do was open the Welcome screen and then go back to workspace, but I can't make the error happen again, even when exiting and restarting Eclipse. Maybe it's a "first run of Eclipse only" thing. Here's the .log:

!SESSION 2012-09-07 10:12:48.324 -----------------------------------------------
eclipse.buildId=M20120905-2300
java.fullversion=J2RE 1.5.0 IBM J9 2.3 AIX ppc64-64 j9vmap6423-20100808 (JIT enabled)
J9VM - 20100629_60535_BHdSMr
JIT  - 20100623_16197_r8
GC   - 20100211_AA
BootLoader constants: OS=aix, ARCH=ppc64, WS=gtk, NL=en_US
Command-line arguments:  -os aix -ws gtk -arch ppc64

!ENTRY org.eclipse.help.base 4 0 2012-09-07 11:07:00.250
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Exception in org.eclipse.help.internal.base.HelpBasePlugin.stop() of bundle org.eclipse.help.base.
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.stop(BundleContextImpl.java:791)
	at org.eclipse.osgi.framework.internal.core.BundleHost.stopWorker(BundleHost.java:510)
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.suspend(AbstractBundle.java:566)
	at org.eclipse.osgi.framework.internal.core.Framework.suspendBundle(Framework.java:1206)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.decFWSL(StartLevelManager.java:592)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:257)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.shutdown(StartLevelManager.java:215)
	at org.eclipse.osgi.framework.internal.core.InternalSystemBundle.suspend(InternalSystemBundle.java:284)
	at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:692)
	at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:600)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.shutdown(EclipseStarter.java:399)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:199)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:618)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
Caused by: java.lang.NoClassDefFoundError: org.eclipse.equinox.http.jetty.JettyConfigurator
	at org.eclipse.help.internal.server.JettyHelpServer$StopServerThread.run(JettyHelpServer.java:96)
Caused by: java.lang.ClassNotFoundException: org.eclipse.equinox.http.jetty.JettyConfigurator
	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:606)
	... 1 more
Root exception:
java.lang.NoClassDefFoundError: org.eclipse.equinox.http.jetty.JettyConfigurator
	at org.eclipse.help.internal.server.JettyHelpServer$StopServerThread.run(JettyHelpServer.java:96)
Caused by: java.lang.ClassNotFoundException: org.eclipse.equinox.http.jetty.JettyConfigurator
	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:606)
	... 1 more
Comment 6 Grant Gayed CLA 2012-11-01 14:59:32 EDT
I've run into this again, this time on HPUX.  Going further, I noticed when self-hosting that many jetty bundles were not being resolved.  For example, the error log entry for "org.eclipse.jetty.server_<version> was not resolved" lists many optionally-imported packages that are missing, but also lists (presumably) non-optional packages like javax.servlet.http and javax.servlet.descriptor.  I was able to fix this by switching from using a JRE 5 to a JRE 6.

I believe this is the problem for all of the comments here.  Comment 0 shows the JRE version as 5, and comment 2 and comment 5 are both on AIX which we don't have a JRE 6 for yet (time to get one apparently).  It's clear from the Eclipse plans that a JRE 6 is required if dependencies like javax.servlet are required, so closing this bug as INVALID.