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

Reply via email to