Re: when testing 20 users, I get a java.util.ConcurrentModificationException error

[email protected] (Kevin Drennen ([email protected]))
Newsgroups gmane.comp.java.struts-menu.user
Message-ID <030320061709.4072.440878660000BBE800000FE82200751090020A02020A9D0B0207900A05@comcast.net>
Matt,

I will try that. Is it better to build from cvs than to just use the download? If so how do I build from cvs? Are there instructions?

Kevin

-------------- Original message -------------- 
From: "Matt Raible" <[email protected]> 

> I recently did fixed some *major* memory leaks in the 
> VelocityMenuDisplayer - you might try building from CVS - or using the 
> attached struts-menu.jar. 
> 
> Matt 
> 
> On 3/3/06, Kevin Drennen ([email protected]) 
> wrote: 
> > 
> > We are doing testing in our application using the struts-menu implementation 
> > using the velocity templates rendering an Xtree (like this example: 
> > http://demo.raibledesigns.com/struts-menu/velocity-xtree.jsp). 
> > When we test simulating 20 concurrent users on the system we enounter a 
> > java.util.ConcurrentModificationException error (see 
> > below). Any thoughts on how to fix this? 
> > 
> > 
> > 
> > 2006-03-03 09:07:51,375 - VelocimacroProxy.render() : exception VM = 
> > #displayMenu() : java.util.ConcurrentModificationException 
> > 
> > at 
> > java.util.AbstractList$Itr.checkForComodification(AbstractList.java(Inlined 
> > Compiled Code)) 
> > 
> > at java.util.AbstractList$Itr.next(AbstractList.java(Compiled 
> > Code)) 
> > 
> > at 
> > org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:203) 
> > 
> > at 
> > 
> org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:15 
> 2) 
> > 
> > at 
> > org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java(Compiled 
> > Code)) 
> > 
> > at 
> > 
> org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.jav 
> a(Compiled 
> > Code)) 
> > 
> > at 
> > 
> org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java(Compil 
> ed 
> > Code)) 
> > 
> > at 
> > 
> org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.j 
> ava:210) 
> > 
> > at 
> > 
> org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:15 
> 2) 
> > 
> > at 
> > 
> org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java(Compil 
> ed 
> > Code)) 
> > 
> > at 
> > org.apache.velocity.Template.merge(Template.java(Compiled 
> > Code)) 
> > 
> > at 
> > 
> net.sf.navigator.displayer.VelocityMenuDisplayer.displayComponents(VelocityMenuD 
> isplayer.java(Compiled 
> > Code)) 
> > 
> > at 
> > 
> net.sf.navigator.displayer.VelocityMenuDisplayer.display(VelocityMenuDisplayer.j 
> ava:99) 
> > 
> > at 
> > net.sf.navigator.taglib.DisplayMenuTag.doStartTag(DisplayMenuTag.java:130) 
> > 
> > at 
> > 
> com.ibm._jsp._side_5F_secure._jspx_meth_menu_displayMenu_3(_side_5F_secure.java: 
> 180) 
> > 
> > at 
> > 
> com.ibm._jsp._side_5F_secure._jspx_meth_menu_useMenuDisplayer_0(_side_5F_secure. 
> java:230) 
> > 
> > at 
> > com.ibm._jsp._side_5F_secure._jspService(_side_5F_secure.java:104) 
> > 
> > at 
> > com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:88) 
> > 
> > at 
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:856) 
> > 
> > at 
> > 
> com.ibm.ws.cache.servlet.ServletWrapper.serviceProxied(ServletWrapper.java:242) 
> > 
> > at 
> > com.ibm.ws.cache.servlet.CacheHook.handleFragment(CacheHook.java:326) 
> > 
> > at 
> > com.ibm.ws.cache.servlet.CacheHook.handleServlet(CacheHook.java:211) 
> > 
> > at 
> > com.ibm.ws.cache.servlet.ServletWrapper.service(ServletWrapper.java:224) 
> > 
> > at 
> > 
> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1221) 
> > 
> > at 
> > 
> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java 
> :630) 
> > 
> > at 
> > 
> com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericSe 
> rvletWrapper.java:117) 
> > 
> > at 
> > 
> com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExten 
> sionServletWrapper.java:173) 
> > 
> > at 
> > 
> com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDisp 
> atcher.java:579) 
> > 
> > at 
> > 
> org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:1034) 
> > 
> > at 
> > org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:475) 
> > 
> > at 
> > org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:101) 
> > 
> > at 
> > org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:137) 
> > 
> > at 
> > org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:758) 
> > 
> > at 
> > 
> org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:8 
> 90) 
> > 
> > at 
> > org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:460) 
> > 
> > at 
> > 
> com.ibm._jsp._base_5F_summary._jspx_meth_tiles_get_2(_base_5F_summary.java:575) 
> > 
> > at 
> > com.ibm._jsp._base_5F_summary._jspService(_base_5F_summary.java:292) 
> > 
> > at 
> > com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:88) 
> > 
> > at 
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:856) 
> > 
> > at 
> > 
> com.ibm.ws.cache.servlet.ServletWrapper.serviceProxied(ServletWrapper.java:242) 
> > 
> > at 
> > com.ibm.ws.cache.servlet.CacheHook.handleFragment(CacheHook.java:326) 
> > 
> > at 
> > com.ibm.ws.cache.servlet.CacheHook.handleServlet(CacheHook.java:211) 
> > 
> > at 
> > com.ibm.ws.cache.servlet.ServletWrapper.service(ServletWrapper.java:224) 
> > 
> > at 
> > 
> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1221) 
> > 
> > at 
> > 
> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java 
> :630) 
> > 
> > at 
> > 
> com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericSe 
> rvletWrapper.java:117) 
> > 
> > at 
> > 
> com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExten 
> sionServletWrapper.java:173) 
> > 
> > at 
> > 
> com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDisp 
> atcher.java:262) 
> > 
> > at 
> > 
> org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056) 
> > 
> > at 
> > 
> org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.ja 
> va:261) 
> > 
> > at 
> > 
> org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesReques 
> tProcessor.java:237) 
> > 
> > at 
> > 
> org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(Tile 
> sRequestProcessor.java:339) 
> > 
> > at 
> > 
> org.apache.struts.action.RequestProcessor.processForward(RequestProcessor.java:5 
> 53) 
> > 
> > at 
> > org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:211) 
> > 
> > at 
> > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164) 
> > 
> > at 
> > org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397) 
> > 
> > at 
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:743) 
> > 
> > at 
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:856) 
> > 
> > at 
> > 
> com.ibm.ws.cache.servlet.ServletWrapper.serviceProxied(ServletWrapper.java:242) 
> > 
> > at 
> > com.ibm.ws.cache.servlet.CacheHook.handleFragment(CacheHook.java:326) 
> > 
> > at 
> > com.ibm.ws.cache.servlet.CacheHook.handleServlet(CacheHook.java:211) 
> > 
> > at 
> > com.ibm.ws.cache.servlet.ServletWrapper.service(ServletWrapper.java:224) 
> > 
> > at 
> > 
> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1221) 
> > 
> > at 
> > 
> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java 
> :630) 
> > 
> > at 
> > 
> com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDisp 
> atcher.java:262) 
> > 
> > at 
> > 
> org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056) 
> > 
> > at 
> > 
> org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.ja 
> va:261) 
> > 
> > at 
> > 
> org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor. 
> java:388) 
> > 
> > at 
> > 
> org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestP 
> rocessor.java:316) 
> > 
> > at 
> > org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231) 
> > 
> > at 
> > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164) 
> > 
> > at 
> > org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397) 
> > 
> > at 
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:743) 
> > 
> > at 
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:856) 
> > 
> > at 
> > 
> com.ibm.ws.cache.servlet.ServletWrapper.serviceProxied(ServletWrapper.java:242) 
> > 
> > at 
> > com.ibm.ws.cache.servlet.CacheHook.handleFragment(CacheHook.java:326) 
> > 
> > at 
> > com.ibm.ws.cache.servlet.CacheHook.handleServlet(CacheHook.java:211) 
> > 
> > at 
> > com.ibm.ws.cache.servlet.ServletWrapper.service(ServletWrapper.java:224) 
> > 
> > at 
> > 
> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1221) 
> > 
> > at 
> > 
> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java 
> :630) 
> > 
> > at 
> > com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:2872) 
> > 
> > at 
> > com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:220) 
> > 
> > at 
> > com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:204) 
> > 
> > at 
> > com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1779) 
> > 
> > at 
> > com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77) 
> > 
> > at 
> > 
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpIn 
> boundLink.java:466) 
> > 
> > at 
> > 
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpIn 
> boundLink.java:405) 
> > 
> > at 
> > 
> com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCal 
> lback.java:104) 
> > 
> > at 
> > 
> com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.ja 
> va(Compiled 
> > Code)) 
> > 
> > at 
> > 
> com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java(Com 
> piled 
> > Code)) 
> > 
> > at 
> > 
> com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:941 
> ) 
> > 
> > at 
> > 
> com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:10 
> 28) 
> > 
> > at 
> > com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1394) 
> > 
> > 
>
(unnamed) (message/rfc822, 87.2 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.