I'm using Tomcat 6.0.20 on Solaris 10 and JDK 1.6.0_16

I have a webapp that seemingly randomly fails to work due do a NoClassDefFoundError. The .tag files and JSPs are being pre-compiled and the webapp's web.xml is modified to reference the pre-compiled classes. My application code fails with the error:

Caused by: java.lang.NoClassDefFoundError: org/apache/jsp/tag/web/cg/refreshCookie_tag at jsp.WEB_002dINF.jsp.favoritesBrowse_jsp._jspx_meth_cg_005frefreshCookie_005f0(favoritesBrowse_jsp.java:551) at jsp.WEB_002dINF.jsp.favoritesBrowse_jsp._jspx_meth_c_005fif_005f0(favoritesBrowse_jsp.java:523) at jsp.WEB_002dINF.jsp.favoritesBrowse_jsp._jspService(favoritesBrowse_jsp.java:177) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488) at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:227) at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:257) at org.springframework.web.servlet.ViewRendererServlet.renderView(ViewRendererServlet.java:111) at org.springframework.web.servlet.ViewRendererServlet.processRequest(ViewRendererServlet.java:84) at org.springframework.web.servlet.ViewRendererServlet.doGet(ViewRendererServlet.java:65)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


What I see in catalina.out the first time the webapp fails is the following InterruptedIOException. It appears that the classloader reading from the file is interrupted somehow which causes the class load to fail and once it has failed once it is never retried. My only resolution is to restart the server. I haven't been able to pin down any particular cause for this problem yet. Has anyone here seen anything similar?

java.io.InterruptedIOException
       at java.io.FileInputStream.readBytes(Native Method)
       at java.io.FileInputStream.read(FileInputStream.java:199)
at org.apache.catalina.loader.WebappClassLoader.findResourceInternal(WebappClassLoader.java:2093) at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1786) at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
       at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at jsp.WEB_002dINF.jsp.favoritesBrowse_jsp._jspx_meth_cg_005frefreshCookie_005f0(favoritesBrowse_jsp.java:551) at jsp.WEB_002dINF.jsp.favoritesBrowse_jsp._jspx_meth_c_005fif_005f0(favoritesBrowse_jsp.java:523) at jsp.WEB_002dINF.jsp.favoritesBrowse_jsp._jspService(favoritesBrowse_jsp.java:177) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488) at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:227) at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:257) at org.springframework.web.servlet.ViewRendererServlet.renderView(ViewRendererServlet.java:111) at org.springframework.web.servlet.ViewRendererServlet.processRequest(ViewRendererServlet.java:84) at org.springframework.web.servlet.ViewRendererServlet.doGet(ViewRendererServlet.java:65)

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to