Bug 350991

Summary: Help system doesn't work (java.lang.IncompatibleClassChangeError: Class org.apache.jasper.servlet.JspServlet)
Product: [Fedora] Fedora Reporter: Mark Wielaard <mjw>
Component: eclipseAssignee: Andrew Overholt <overholt>
Status: CLOSED UPSTREAM QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: rawhideCC: greenrd, oliver, overholt
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-10-24 21:30:19 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Mark Wielaard 2007-10-24 18:15:09 UTC
Description of problem:

Opening any help item in eclipse will show a browser window with:
HTTP ERROR: 500

Class org.apache.jasper.servlet.JspServlet does not implement the requested
interface javax.servlet.Servlet

RequestURI=/help/index.jsp

Powered by Jetty://

Version-Release number of selected component (if applicable):

jetty-5.1.12-1jpp.7.fc8
eclipse-platform-3.3.0-27.fc8

How reproducible:

Always

Steps to Reproduce:
1. Start eclipse
2. Goto Welcome screen
3. Click any help link
  
Actual results:

Error page

Expected results:

Help page

Additional info:

From the eclipse log:

[INFO] HttpServer - Version Jetty/5.1.x
[INFO] Container - Started org.mortbay.jetty.servlet.ServletHandler@1979a36
[INFO] Container - Started HttpContext[/help,/help]
[INFO] SocketListener - Started SocketListener on 0.0.0.0:51438
[INFO] Container - Started org.mortbay.http.HttpServer@5b3e5d
[WARN] ServletHandler - Error for
/help/index.jsp?topic=%2Forg.eclipse.cdt.doc.user%2Fconcepts%2Fcdt_o_home.htm
<java.lang.IncompatibleClassChangeError: Class
org.apache.jasper.servlet.JspServlet does not implement the requested interface
javax.servlet.Servlet>java.lang.IncompatibleClassChangeError: Class
org.apache.jasper.servlet.JspServlet does not implement the requested interface
javax.servlet.Servlet
        at org.eclipse.equinox.jsp.jasper.JspServlet.init(JspServlet.java:81)
        at
org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.initializeDelegate(ServletManager.java:195)
        at
org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:179)
        at
org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
        at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
        at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at
org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:280)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
        at
org.mortbay.jetty.servlet.ServletHandler.dispatch(ServletHandler.java:677)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
        at org.mortbay.http.HttpServer.service(HttpServer.java:909)
        at org.mortbay.http.HttpConnection.service(HttpConnection.java:820)
        at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986)
        at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)
        at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245)
        at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
        at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

Comment 1 Andrew Overholt 2007-10-24 18:24:20 UTC
Because your stack traces have files and line numbers, I'm going to assume
you're running with IcedTea.  What arch is this?

I'm running i386 with the exact same versions of the packages and I can't reproduce.

Comment 2 Mark Wielaard 2007-10-24 19:08:12 UTC
$ java -version
java version "1.7.0"
IcedTea Runtime Environment (build 1.7.0-b21)
IcedTea Client VM (build 1.7.0-b21, mixed mode)
$ rpm -q java-1.7.0-icedtea
java-1.7.0-icedtea-1.7.0.0-0.19.b21.snapshot.fc8
$ uname -m
i686


Comment 3 Andrew Overholt 2007-10-24 20:05:04 UTC
Please post the output of:

rpm -qV jetty
for f in `rpm -qa | egrep "eclipse|swt"`; do rpm -qV $f; done

Comment 4 Mark Wielaard 2007-10-24 21:22:57 UTC
Moving away my ~/.eclipse directory (which seems to have some old cached stuff
in it) worked around it.


Output requested:
$ rpm -qV jetty
$ for f in `rpm -qa | egrep "eclipse|swt"`; do rpm -qV $f; done
S.5....T   /usr/bin/ecj


Comment 5 Andrew Overholt 2007-10-24 21:30:19 UTC
Mark's emailed me his .eclipse directories (the old one and the new one) so that
I can examine when I have time.

Closing as upstream since it's arguably an upstream issue that the cache causes
an issue.

Comment 6 Robin Green 2007-12-03 19:34:45 UTC
I deleted my .eclipse directory (not sure if I even had one before on this
machine), and my workspace, and I still had the same issue. So I don't think
it's a caching issue. (I'm also using IcedTea).

Comment 7 Andrew Overholt 2007-12-03 19:47:58 UTC
Yeah, I've fixed the tomcat symlinking and patching and have a 3.3.1.1 update
for F-8 forthcoming.  I just need to figure out how to do an update for icu4j
and eclipse at the same time.