I figured out how to reproduce the error. With JRebel's Stripes plugin enabled test.jsp takes some 1 minute to load. While waiting for it to load, I open another browser tab and do a bit of browsing around. That would trigger the error about 50% of the time.
Sometime the error will be with test.jsp, sometime the error will occur at the other page that I was browsing. There is a bug in JRebel definitely. But I am not sure whether the JRebel bug is causing the ConcurrentModificationException - or it is causing a bug in Stripes to surface. I am using the Eclipse Helios SR1. JRebel plugin was updated to the most recent version. Cheers, Yee Below is the stack trace (with test.jsp). Feb 10, 2011 2:00:21 PM org.apache.catalina.core.ApplicationDispatcher invoke SEVERE: Servlet.service() for servlet jsp threw exception java.util.ConcurrentModificationException at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1100) at java.util.TreeMap$EntryIterator.next(TreeMap.java:1136) at java.util.TreeMap$EntryIterator.next(TreeMap.java:1131) at net.sourceforge.stripes.controller.UrlBindingFactory.getBindingPrototype(Url BindingFactory.java:132) at net.sourceforge.stripes.controller.AnnotatedClassActionResolver.getUrlBindin gFromPath(AnnotatedClassActionResolver.java:198) at net.sourceforge.stripes.tag.FormTag.getActionBeanUrlBinding(FormTag.java:100 ) at net.sourceforge.stripes.tag.FormTag.getActionBean(FormTag.java:376) at net.sourceforge.stripes.tag.InputTagSupport.getActionBean(InputTagSupport.ja va:392) at net.sourceforge.stripes.tag.InputTagSupport.loadErrors(InputTagSupport.java: 350) at net.sourceforge.stripes.tag.InputTagSupport.getFieldErrors(InputTagSupport.j ava:366) at net.sourceforge.stripes.tag.InputTagSupport.doStartTag(InputTagSupport.java: 409) at net.sourceforge.stripes.tag.InputOptionsCollectionTag.doEndTag(InputOptionsC ollectionTag.java:322) at org.apache.jsp.WEB_002dINF.jsp.admin.test_jsp._jspx_meth_stripes_005foptions _002dcollection_005f0(test_jsp.java:229) at org.apache.jsp.WEB_002dINF.jsp.admin.test_jsp._jspx_meth_stripes_005fselect_ 005f0(test_jsp.java:187) at org.apache.jsp.WEB_002dINF.jsp.admin.test_jsp._jspx_meth_stripes_005fform_00 5f0(test_jsp.java:136) at org.apache.jsp.WEB_002dINF.jsp.admin.test_jsp._jspService(test_jsp.java:94) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:3 86) at org.apache.jasper.servlet.JspServlet._serviceJspFile(JspServlet.java:313) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher. java:646) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDis patcher.java:436) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch er.java:374) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher .java:302) at net.sourceforge.stripes.action.ForwardResolution.execute(ForwardResolution.j ava:110) at net.sourceforge.stripes.controller.DispatcherHelper$7.intercept(DispatcherHe lper.java:508) at net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext .java:158) at net.sourceforge.stripes.controller.HttpCacheInterceptor.intercept(HttpCacheI nterceptor.java:99) at net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext .java:155) at net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.intercept(Be foreAfterMethodInterceptor.java:113) at net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext .java:155) at net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionContext.ja va:74) at net.sourceforge.stripes.controller.DispatcherHelper.executeResolution(Dispat cherHelper.java:502) at net.sourceforge.stripes.controller.DispatcherServlet.executeResolution(Dispa tcherServlet.java:286) at net.sourceforge.stripes.controller.DispatcherServlet.service(DispatcherServl et.java:170) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:206) at net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java :247) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:206) at com.sage.b2k.web.infra.UserAgentFilter.doFilter(UserAgentFilter.java:47) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:206) at com.sage.b2k.web.infra.HibernateFilter.doFilter(HibernateFilter.java:65) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:206) at com.cj.trim.trimFilter.doFilter(Unknown Source) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:206) at org.apache.catalina.core.StandardWrapperValve.__invoke(StandardWrapperValve. java:233) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127 ) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102 ) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http 11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:662) [ERROR] 10-02-2011,14:00:21: [ExceptionHandler.java] java.util.ConcurrentModific ationException java.util.ConcurrentModificationException at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1100) at java.util.TreeMap$EntryIterator.next(TreeMap.java:1136) at java.util.TreeMap$EntryIterator.next(TreeMap.java:1131) at net.sourceforge.stripes.controller.UrlBindingFactory.getBindingPrototype(Url BindingFactory.java:132) at net.sourceforge.stripes.controller.AnnotatedClassActionResolver.getUrlBindin gFromPath(AnnotatedClassActionResolver.java:198) at net.sourceforge.stripes.tag.FormTag.getActionBeanUrlBinding(FormTag.java:100 ) at net.sourceforge.stripes.tag.FormTag.getActionBean(FormTag.java:376) at net.sourceforge.stripes.tag.InputTagSupport.getActionBean(InputTagSupport.ja va:392) at net.sourceforge.stripes.tag.InputTagSupport.loadErrors(InputTagSupport.java: 350) at net.sourceforge.stripes.tag.InputTagSupport.getFieldErrors(InputTagSupport.j ava:366) at net.sourceforge.stripes.tag.InputTagSupport.doStartTag(InputTagSupport.java: 409) at net.sourceforge.stripes.tag.InputOptionsCollectionTag.doEndTag(InputOptionsC ollectionTag.java:322) at org.apache.jsp.WEB_002dINF.jsp.admin.test_jsp._jspx_meth_stripes_005foptions _002dcollection_005f0(test_jsp.java:229) at org.apache.jsp.WEB_002dINF.jsp.admin.test_jsp._jspx_meth_stripes_005fselect_ 005f0(test_jsp.java:187) at org.apache.jsp.WEB_002dINF.jsp.admin.test_jsp._jspx_meth_stripes_005fform_00 5f0(test_jsp.java:136) at org.apache.jsp.WEB_002dINF.jsp.admin.test_jsp._jspService(test_jsp.java:94) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:3 86) at org.apache.jasper.servlet.JspServlet._serviceJspFile(JspServlet.java:313) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher. java:646) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDis patcher.java:436) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch er.java:374) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher .java:302) at net.sourceforge.stripes.action.ForwardResolution.execute(ForwardResolution.j ava:110) at net.sourceforge.stripes.controller.DispatcherHelper$7.intercept(DispatcherHe lper.java:508) at net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext .java:158) at net.sourceforge.stripes.controller.HttpCacheInterceptor.intercept(HttpCacheI nterceptor.java:99) at net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext .java:155) at net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.intercept(Be foreAfterMethodInterceptor.java:113) at net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext .java:155) at net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionContext.ja va:74) at net.sourceforge.stripes.controller.DispatcherHelper.executeResolution(Dispat cherHelper.java:502) at net.sourceforge.stripes.controller.DispatcherServlet.executeResolution(Dispa tcherServlet.java:286) at net.sourceforge.stripes.controller.DispatcherServlet.service(DispatcherServl et.java:170) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:206) at net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java :247) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:206) at com.sage.b2k.web.infra.UserAgentFilter.doFilter(UserAgentFilter.java:47) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:206) at com.sage.b2k.web.infra.HibernateFilter.doFilter(HibernateFilter.java:65) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:206) at com.cj.trim.trimFilter.doFilter(Unknown Source) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:206) at org.apache.catalina.core.StandardWrapperValve.__invoke(StandardWrapperValve. java:233) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127 ) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102 ) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http 11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:662) ------------------------------------------------------------------------------ The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb _______________________________________________ Stripes-users mailing list Stripes-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/stripes-users