You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jspwiki.apache.org by "Juan Pablo Santos RodrÃguez (JIRA)" <ji...@apache.org> on 2017/05/14 16:53:04 UTC
[jira] [Commented] (JSPWIKI-1059) ConcurrentModificationException
in SessionMonitor
[ https://issues.apache.org/jira/browse/JSPWIKI-1059?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16009790#comment-16009790 ]
Juan Pablo Santos RodrÃguez commented on JSPWIKI-1059:
------------------------------------------------------
+1 for the patch.
Also, same would happen with {{c_monitors}} at {{sessionDestroyed( HttpSessionEvent se )}}. Rather than synchronizing there, would it make more sense to change the type of {{c_monitors}} to {{ConcurrentHashMap}}? As a bonus, we could get rid of the {{synchronized( c_monitors )}} block at {{getInstance}}..
br,
juan pablo
> ConcurrentModificationException in SessionMonitor
> -------------------------------------------------
>
> Key: JSPWIKI-1059
> URL: https://issues.apache.org/jira/browse/JSPWIKI-1059
> Project: JSPWiki
> Issue Type: Bug
> Components: Authentication & Authorization
> Affects Versions: 2.10.2
> Environment: Ubuntu 16.04
> Java 8
> JSPWiki v2.10.3-git-38
> Reporter: Harry Metske
> Assignee: Harry Metske
> Priority: Minor
> Fix For: 2.10.3
>
> Attachments: JSPWIKI-1059.patch
>
>
> jspwiki.log shows regularly:
> 2017-05-10 12:35:55,838 INFO plugin.DefaultPluginManager - Plugin failed while executing:
> java.util.ConcurrentModificationException
> at java.util.WeakHashMap$HashIterator.nextEntry(WeakHashMap.java:806)
> at java.util.WeakHashMap$ValueIterator.next(WeakHashMap.java:833)
> at org.apache.wiki.auth.SessionMonitor.userPrincipals(SessionMonitor.java:204)
> at org.apache.wiki.auth.SessionMonitor.sessions(SessionMonitor.java:185)
> at org.apache.wiki.WikiSession.sessions(WikiSession.java:808)
> at org.apache.wiki.plugin.SessionsPlugin.execute(SessionsPlugin.java:115)
> at org.apache.wiki.plugin.DefaultPluginManager.execute(DefaultPluginManager.java:339)
> at org.apache.wiki.parser.PluginContent.getText(PluginContent.java:194)
> at org.jdom2.output.support.AbstractXMLOutputProcessor.printText(AbstractXMLOutputProcessor.java:771)
> at org.jdom2.output.support.AbstractXMLOutputProcessor.printContent(AbstractXMLOutputProcessor.java:956)
> at org.jdom2.output.support.AbstractXMLOutputProcessor.printElement(AbstractXMLOutputProcessor.java:868)
> at org.jdom2.output.support.AbstractXMLOutputProcessor.printContent(AbstractXMLOutputProcessor.java:946)
> at org.jdom2.output.support.AbstractXMLOutputProcessor.printElement(AbstractXMLOutputProcessor.java:868)
> at org.jdom2.output.support.AbstractXMLOutputProcessor.printContent(AbstractXMLOutputProcessor.java:946)
> at org.jdom2.output.support.AbstractXMLOutputProcessor.printElement(AbstractXMLOutputProcessor.java:868)
> at org.jdom2.output.support.AbstractXMLOutputProcessor.printContent(AbstractXMLOutputProcessor.java:946)
> at org.jdom2.output.support.AbstractXMLOutputProcessor.process(AbstractXMLOutputProcessor.java:236)
> at org.jdom2.output.XMLOutputter.outputElementContent(XMLOutputter.java:881)
> at org.apache.wiki.render.XHTMLRenderer.getString(XHTMLRenderer.java:71)
> at org.apache.wiki.render.RenderingManager.getHTML(RenderingManager.java:241)
> at org.apache.wiki.render.RenderingManager.getHTML(RenderingManager.java:286)
> at org.apache.wiki.WikiEngine.textToHTML(WikiEngine.java:1515)
> at org.apache.wiki.WikiEngine.getHTML(WikiEngine.java:1457)
> at org.apache.wiki.tags.InsertPageTag.doWikiStartTag(InsertPageTag.java:128)
> at org.apache.wiki.tags.WikiTagBase.doStartTag(WikiTagBase.java:89)
> at org.apache.jsp.templates.haddock.Header_jsp._jspx_meth_wiki_005fInsertPage_005f1(Header_jsp.java:644)
> at org.apache.jsp.templates.haddock.Header_jsp._jspx_meth_wiki_005fPageExists_005f0(Header_jsp.java:602)
> at org.apache.jsp.templates.haddock.Header_jsp._jspService(Header_jsp.java:251)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:443)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:710)
> at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:580)
> at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:516)
> at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:895)
> at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:490)
> at org.apache.wiki.tags.IncludeTag.doEndTag(IncludeTag.java:84)
> at org.apache.jsp.templates.haddock.ViewTemplate_jsp._jspx_meth_wiki_005fInclude_005f1(ViewTemplate_jsp.java:691)
> at org.apache.jsp.templates.haddock.ViewTemplate_jsp._jspService(ViewTemplate_jsp.java:211)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:443)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:710)
> at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:580)
> at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:516)
> at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:895)
> at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:490)
> at org.apache.wiki.tags.IncludeTag.doEndTag(IncludeTag.java:84)
> at org.apache.jsp.Wiki_jsp._jspService(Wiki_jsp.java:182)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:443)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at org.apache.wiki.ui.WikiServletFilter.doFilter(WikiServletFilter.java:160)
> I will attach a proposed patch
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)