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

Bug 356187

Summary: java.lang.ClassNotFoundException: org.apache.jsp.index_jsp
Product: [RT] Jetty Reporter: Eugene <JohnBat26>
Component: serverAssignee: Jan Bartel <janb>
Status: CLOSED NOT_ECLIPSE QA Contact:
Severity: major    
Priority: P3 CC: jetty-inbox, mgorovoy
Version: unspecified   
Target Milestone: 7.5.x   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Eugene CLA 2011-08-30 08:26:58 EDT
Build Identifier: 

I have next problem with JBoss + jetty 6.1.26 integration.
OS: CentOs 5 x86
Java: VM: jRockIt 1.6

Sometimes, when I go to jmx-console I get next error:

    HTTP ERROR 500
     
    Problem accessing /jmx-console/. Reason:
     
        org.apache.jsp.index_jsp
     
    Caused by:
     
    java.lang.ClassNotFoundException: org.apache.jsp.index_jsp
            at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
            at org.apache.jasper.servlet.JasperLoader.findClass(JasperLoader.java:204)
            at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:190)
            at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:122)
            at org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:639)
            at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:192)
            at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
            at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:804)
            at org.mortbay.jetty.servlet.jsr77.Jsr77ServletHolder.handle(Jsr77ServletHolder.java:74)
            at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
            at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
            at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
            at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
            at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
            at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
            at org.mortbay.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:503)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:804)
            at org.mortbay.jetty.servlet.jsr77.Jsr77ServletHolder.handle(Jsr77ServletHolder.java:74)
            at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
            at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
            at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
            at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
            at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
            at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
            at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
            at org.mortbay.jetty.handler.StatisticsHandler.handle(StatisticsHandler.java:53)
            at org.mortbay.jetty.Server.handle(Server.java:326)
            at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
            at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
            at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:550)
            at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
            at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
            at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
            at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)



http://paste2.org/p/1591421



Why it may be ?

Reproducible: Always
Comment 1 Michael Gorovoy CLA 2011-08-30 12:29:15 EDT
Eugene,

It is possible that in your deployment Jetty saves compiled JSP files in a directory of /tmp file system. In the event your server has a cron job that cleans the /tmp the compiled JSP classes may be deleted. As a result, if you access that application after a while, Jetty will not be able to find the class file for the JSP file that it expects to be compiled already. Please check your /tmp for directories named Jetty_*. You could find the information about how to configure Jetty JBoss integration at http://docs.codehaus.org/display/JETTY/JBoss.

Please note that Jetty 6.x is in maintenance mode, and we strongly recommend upgrading to Jetty 7. The latest version of JBoss integration at the time of this writing is 7.4.5.v20010725. 

In the future please create bug reports for Jetty JBoss integration at http://jira.codehaus.org/browse/JETTY).

Thanks,
Michael