[Building Sakai] NoClassDefFoundError in Wiki

Wolfgang Rohregger Wolfgang.Rohregger at mci.edu
Tue Nov 16 03:31:26 PST 2010


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"


More information about the sakai-dev mailing list