[Building Sakai] NoClassDefFoundError in Wiki

Steve Swinsburg steve.swinsburg at gmail.com
Tue Nov 16 14:53:39 PST 2010


Hi Wolfgang,

Check to see you don't have two versions of the same rwiki jars deployed to tomcat/shared/lib. Is this a completely fresh install of 2.7.1 into a fresh Tomcat, or did you at some stage have an older version?

cheers,
Steve



On 16/11/2010, at 10:31 PM, Wolfgang Rohregger wrote:

> I forgot to mention that this happened in Sakai 2.7.1.
> 
> 
> -----Original Message-----
> From: sakai-dev-bounces at collab.sakaiproject.org [mailto:sakai-dev-bounces at collab.sakaiproject.org] On Behalf Of Wolfgang Rohregger
> Sent: Tuesday, November 16, 2010 10:52 AM
> To: Developers Sakai-Dev
> Subject: [Building Sakai] NoClassDefFoundError in Wiki
> 
> Hi,
> 
> I get a NoClassDefFound Exception when a user tries to access the Wiki tool within a site. The error happens in the following situation:
> 
> (1) Fresh deployment of Sakai
> (2) Startup Sakai
> (3) Shutdown Sakai after Sakai had been started completely
> (4) Startup Sakai
> (5) Open Wiki Tool in some course
> 
> Using the wiki tool after step (2) works.
> 
> The stack trace is included at end of the mail.
> 
> The class that is not found is “PagePresence” (an interface). As a workaround we’ve figured out that deleting the deployed webapps in tomcat/webapps before startup helps.
> 
> My first guess would be that there may be some problem with the project deployment configuration or some ClassLoader?
> 
> Cheers,
> 
> Wolfgang
> 
> Stack trace consists of two error messages:
> 
> 2010-11-15 12:27:22,263 INFO TP-Processor1 org.apache.catalina.loader.WebappClassLoader - Illegal access: this web application instance has been stopped already. Could not load uk.ac.cam.caret.sakai.rwiki.service.message.api.model.PagePresence. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
> java.lang.IllegalStateException
> at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1322)
> at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1282)
> at $Proxy66.createPagePresence(Unknown Source)
> at uk.ac.cam.caret.sakai.rwiki.component.message.MessageServiceImpl.updatePresence(MessageServiceImpl.java:67)
> at uk.ac.cam.caret.sakai.rwiki.tool.RequestScopeSuperBean.init(RequestScopeSuperBean.java:229)
> at uk.ac.cam.caret.sakai.rwiki.tool.RequestScopeSuperBean.createAndAttach(RequestScopeSuperBean.java:162)
> at uk.ac.cam.caret.sakai.rwiki.tool.RWikiServlet.prePopulateRealm(RWikiServlet.java:195)
> at uk.ac.cam.caret.sakai.rwiki.tool.RWikiServlet.execute(RWikiServlet.java:162)
> at uk.ac.cam.caret.sakai.rwiki.tool.RWikiServlet.doGet(RWikiServlet.java:117)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:585)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:659)
> at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:457)
> at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:359)
> at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
> at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:500)
> at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1221)
> at org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:204)
> at org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:96)
> at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:768)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:646)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
> at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
> at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
> at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:775)
> at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:704)
> at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:897)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
> at java.lang.Thread.run(Thread.java:619)
> 
> 2010-11-15 12:27:22,267 ERROR TP-Processor1 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/sakai-rwiki-tool].[sakai.rwiki] - Servlet.service() for servlet sakai.rwiki threw exception
> java.lang.ClassNotFoundException: uk.ac.cam.caret.sakai.rwiki.service.message.api.model.PagePresence
> 	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1436)
> 	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1282)
> 	at $Proxy66.createPagePresence(Unknown Source)
> 	at uk.ac.cam.caret.sakai.rwiki.component.message.MessageServiceImpl.updatePresence(MessageServiceImpl.java:67)
> 	at uk.ac.cam.caret.sakai.rwiki.tool.RequestScopeSuperBean.init(RequestScopeSuperBean.java:229)
> 	at uk.ac.cam.caret.sakai.rwiki.tool.RequestScopeSuperBean.createAndAttach(RequestScopeSuperBean.java:162)
> 	at uk.ac.cam.caret.sakai.rwiki.tool.RWikiServlet.prePopulateRealm(RWikiServlet.java:195)
> 	at uk.ac.cam.caret.sakai.rwiki.tool.RWikiServlet.execute(RWikiServlet.java:162)
> 	at uk.ac.cam.caret.sakai.rwiki.tool.RWikiServlet.doGet(RWikiServlet.java:117)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> 	at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:585)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> 	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:659)
> 	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:457)
> 	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:359)
> 	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
> 	at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:500)
> 	at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1221)
> 	at org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:204)
> 	at org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:96)
> 	at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:768)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> 	at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:646)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
> 	at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
> 	at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
> 	at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:775)
> 	at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:704)
> 	at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:897)
> 	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
> 	at java.lang.Thread.run(Thread.java:619)
> _______________________________________________
> sakai-dev mailing list
> sakai-dev at collab.sakaiproject.org
> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
> 
> TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of "unsubscribe"
> _______________________________________________
> sakai-dev mailing list
> sakai-dev at collab.sakaiproject.org
> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
> 
> TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of "unsubscribe"



More information about the sakai-dev mailing list