Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 362928 - org.equinox.http.jetty should work with javax.servlet 3.0
Summary: org.equinox.http.jetty should work with javax.servlet 3.0
Status: CLOSED DUPLICATE of bug 309529
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: Components (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: equinox.components-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-04 13:00 EDT by Markus Brakweh CLA
Modified: 2011-11-29 07:12 EST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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.