|Title|Random bug after several days 
|Date|06-Sep-2005 08:23:17 EEST
|Version|v2.2.28
|Submitter|24.9.151.33
|[Bug criticality]|[JSPWiki:BadBug]
|Browser version|Firefox
|[Bug status]|ClosedBug
|[PageProvider] used|VersioningFileProvider
|Servlet Container|Tomcat 5.0.28
|Operating System|Windows XP
|URL|Comes and goes
|Java version|JDK 5

About once a week - I get an e-mail from someone saying that my wiki is hosed.  When I got to the site, it shows:

{{{
JSPWiki has detected an error

Error Message
    Tag failed, check logs: null 
Exception
    javax.servlet.jsp.JspException
Place where detected
    com.ecyrd.jspwiki.tags.IncludeTag.doEndTag(), line 74

If you have changed the templates, please do check them. This error message may show up because of that. If you have not changed them, and you are either installing JSPWiki for the first time or have changed configuration, then you might want to check your configuration files. If you are absolutely sure that JSPWiki was running quite okay or you can't figure out what is going on, then by all means, come over to jspwiki.org and tell us. There is more information in the log file (like the full stack trace, which you should add to any error report).

And don't worry - it's just a computer program. Nothing really serious is probably going on: at worst you can lose a few nights sleep. It's not like it's the end of the world. 
}}}

Here's what the log says:

{{{
2005-09-05 23:04:16,729 [TP-Processor16] ERROR com.ecyrd.jspwiki.tags.WikiTagBas
e Raible's Wiki:Articles - Tag failed
java.lang.NullPointerException
        at java.util.LinkedList.remove(LinkedList.java:220)
        at com.opensymphony.module.oscache.base.algorithm.LRUCache.getItem(LRUCa
che.java:126)
        at com.opensymphony.module.oscache.base.algorithm.AbstractConcurrentRead
Cache.get(AbstractConcurrentReadCache.java:667)
        at com.opensymphony.module.oscache.base.Cache.getCacheEntry(Cache.java:3
31)
        at com.opensymphony.module.oscache.base.Cache.getFromCache(Cache.java:63
7)
        at com.ecyrd.jspwiki.providers.CachingProvider.getTextFromCache(CachingP
rovider.java:417)
        at com.ecyrd.jspwiki.providers.CachingProvider.getPageText(CachingProvid
er.java:392)
        at com.ecyrd.jspwiki.PageManager.getPageText(PageManager.java:171)
        at com.ecyrd.jspwiki.WikiEngine.getPureText(WikiEngine.java:1203)
        at com.ecyrd.jspwiki.WikiEngine.getHTML(WikiEngine.java:1243)
        at com.ecyrd.jspwiki.tags.InsertPageTag.doWikiStartTag(InsertPageTag.jav
a:106)
        at com.ecyrd.jspwiki.tags.WikiTagBase.doStartTag(WikiTagBase.java:61)
        at org.apache.jsp.templates.redman.ViewTemplate_jsp._jspx_meth_wiki_Inse
rtPage_0(ViewTemplate_jsp.java:539)
        at org.apache.jsp.templates.redman.ViewTemplate_jsp._jspService(ViewTemp
late_jsp.java:185)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
.java:324)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:2
92)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:237)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:157)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDisp
atcher.java:704)
        at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationD
ispatcher.java:590)
        at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDis
patcher.java:510)
        at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary
.java:966)
        at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.jav
a:581)
        at com.ecyrd.jspwiki.tags.IncludeTag.doEndTag(IncludeTag.java:68)
        at org.apache.jsp.Wiki_jsp._jspService(Wiki_jsp.java:147)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
.java:324)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:2
92)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:237)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:157)
        at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewrit
eFilter.java:323)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:186)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:157)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:214)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(Standard
ContextValve.java:198)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:152)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
torBase.java:462)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:102)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:137)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:118)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:102)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)

        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:16
0)
        at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)

        at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
        at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.ja
va:675)
        at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
}}}

Stopping and starting the context in Tomcat's Manager application fixes the problem.


----

Known problem, fixed in current CVS (2.2.33).  You can wait for the stable for a few days, or just get the CVS version (see [AnonymousCVSAccess]) right now.

-- JanneJalkanen

----

Thanks.  Any idea when stable will be released?  This bug has actually affected [search for AppFuse on Google|http://www.google.com/search?q=appfuse] - notice the 3rd entry. ;-)

-- Matt

Ten minutes ago ;-)

-- JanneJalkanen

You can also get errors like this if you change JSP pages in a way that Tomcat doesn't notice, for example using rsync. Some pages will be recompiled and others (e.g. the ones that are included) are not, leading to errors in pages. 

If this happens, you can delete all files in your Tomcat work directory, forcing Tomcat to recompile everything.

-- [ChrisWilson]