Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 362928

Summary: org.equinox.http.jetty should work with javax.servlet 3.0
Product: [Eclipse Project] Equinox Reporter: Markus Brakweh <markusb>
Component: ComponentsAssignee: equinox.components-inbox <equinox.components-inbox>
Status: CLOSED DUPLICATE QA Contact:
Severity: normal    
Priority: P3 CC: jose, tjwatson
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Markus Brakweh CLA 2011-11-04 13:00:02 EDT
Build Identifier: I20110613-1736

The imported package list in jetty's manifest file limits the version of javax.servlet to 2.5 or 2.6. The other dependent files of org.mortbay can load javax.servlet version of 3.x which leads to problems in the User Assistance area like this stacktrace:

  !ENTRY org.eclipse.ui 4 0 2011-11-01 11:15:18.633
      !MESSAGE Unhandled event loop exception
      !STACK 0
      java.lang.NoClassDefFoundError:
      org/eclipse/equinox/http/jetty/JettyConfigurator
              at org.eclipse.help.internal.server.JettyHelpServer
      $StartServerThread.run(JettyHelpServer.java:75)
      Caused by: java.lang.ClassNotFoundException:
      org.eclipse.equinox.http.jetty.JettyConfigurator
              at
      org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal
      (BundleLoader.java:513)
              at org.eclipse.osgi.internal.loader.BundleLoader.findClass
      (BundleLoader.java:429)
              at org.eclipse.osgi.internal.loader.BundleLoader.findClass
      (BundleLoader.java:417)
              at
      org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass
      (DefaultClassLoader.java:107)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
              ... 1 more

      !ENTRY org.eclipse.help 4 0 2011-11-01 11:15:53.999
      !MESSAGE Required attribute "id" missing from "context" element in
      "/com.sybase.sup.doc.contexts/contexts.xml" (skipping element)

      !ENTRY com.sybase.stf.sysam 1 10004 2011-11-01 11:19:47.325
      !MESSAGE INFO: [msgId: 131257], message: Checked in license for 1
      SWS_MOBL (2.0/permanent/0ADA A1F8 3A86 8354).

      !ENTRY org.eclipse.help.base 4 0 2011-11-01 11:19:47.919
      !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:565)
              at
      org.eclipse.osgi.framework.internal.core.Framework.suspendBundle
      (Framework.java:1160)
              at
      org.eclipse.osgi.framework.internal.core.StartLevelManager.decFWSL
      (StartLevelManager.java:595)
              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:690)
              at org.eclipse.osgi.framework.internal.core.Framework.close
      (Framework.java:597)
              at org.eclipse.core.runtime.adaptor.EclipseStarter.shutdown
      (EclipseStarter.java:390)
              at org.eclipse.core.runtime.adaptor.EclipseStarter.run
      (EclipseStarter.java:198)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
      Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke
      (NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke
      (DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at org.eclipse.equinox.launcher.Main.invokeFramework
      (Main.java:622)
              at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
              at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
              at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
      Caused by: java.lang.NoClassDefFoundError:
      org/eclipse/equinox/http/jetty/JettyConfigurator
              at org.eclipse.help.internal.server.JettyHelpServer
      $StopServerThread.run(JettyHelpServer.java:93)
      Caused by: java.lang.ClassNotFoundException:
      org.eclipse.equinox.http.jetty.JettyConfigurator
              at
      org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal
      (BundleLoader.java:513)
              at org.eclipse.osgi.internal.loader.BundleLoader.findClass
      (BundleLoader.java:429)
              at org.eclipse.osgi.internal.loader.BundleLoader.findClass
      (BundleLoader.java:417)
              at
      org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass
      (DefaultClassLoader.java:107)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
              ... 1 more
      Root exception:
      java.lang.NoClassDefFoundError:
      org/eclipse/equinox/http/jetty/JettyConfigurator
              at org.eclipse.help.internal.server.JettyHelpServer
      $StopServerThread.run(JettyHelpServer.java:93)
      Caused by: java.lang.ClassNotFoundException:
      org.eclipse.equinox.http.jetty.JettyConfigurator
              at
      org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal
      (BundleLoader.java:513)
              at org.eclipse.osgi.internal.loader.BundleLoader.findClass
      (BundleLoader.java:429)
              at org.eclipse.osgi.internal.loader.BundleLoader.findClass
      (BundleLoader.java:417)
              at
      org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass
      (DefaultClassLoader.java:107)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
              ... 1 more

Plugin dependencies of org.eclipse.equinox.http.jetty show the different javax.servlet versions used are 2.5 and 3.0. If javax.servlet version 3.0 is removed from the list of loadable plugins then UA works again. 


Reproducible: Always

Steps to Reproduce:
1.Install Eclipse 3.7 sdk
2.unzip orbit-R20110523182458.zip to eclipse/dropins/gmfbase
3.Start eclipse
4.Hit F1 to open Help. No help text appears, log contains error message
5.Same with Help->Help contents
5. Check plugin dependencies view for
Comment 1 Markus Brakweh CLA 2011-11-04 13:06:53 EDT
Finishing the last sentence:
Check plugin dependencies view for org.eclipse.equinox.http.jetty
Comment 2 Thomas Watson CLA 2011-11-04 13:53:14 EDT
We cannot tolerate servlet 3.0 until we have support for jetty 8.

*** This bug has been marked as a duplicate of bug 309529 ***
Comment 3 Markus Brakweh CLA 2011-11-04 15:08:04 EDT
(In reply to comment #2)
> We cannot tolerate servlet 3.0 until we have support for jetty 8.
> 
> *** This bug has been marked as a duplicate of bug 309529 ***

Thanks Thomas,
is there an ETA for this?

Would it be possible to change the dependencies so that none of plugins jetty depends on (mortbay, etc) would use servlet version 3.0? 
The way it is now means that jetty (and the help system) is unusable, right?
Comment 4 Jose M Beleta CLA 2011-11-29 07:12:37 EST
Removing the plugin javax.servlet_3.0.0.v201103241727.jar solves the problem. I do not know who installed it. But plugin dependencies should be stricter to avoid problems like this one.