Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
core-1.4.0
-
None
Description
scenario is:
- actions/listAll/invoke
- returning a list of references
- forEach($get(...))
- multiple pending requests to similar resources at same time.
Intermittent errors, one or more of these requests will fail with 500; has stack trace:
{
"message" : "java.util.ConcurrentModificationException",
"stackTrace" : [
"java.util.ArrayList$Itr.checkForComodification(ArrayList.java:859)",
"java.util.ArrayList$Itr.next(ArrayList.java:831)",
"com.google.common.collect.Iterators$7.computeNext(Iterators.java:646)",
"com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)",
"com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)",
"com.google.common.collect.Iterators.addAll(Iterators.java:356)",
"com.google.common.collect.Lists.newArrayList(Lists.java:146)",
"com.google.common.collect.Lists.newArrayList(Lists.java:128)",
"org.apache.isis.core.metamodel.specloader.specimpl.ObjectSpecificationAbstract.getObjectActions(ObjectSpecificationAbstract.java:744)",
"org.apache.isis.core.metamodel.specloader.specimpl.ObjectSpecificationAbstract.getObjectActions(ObjectSpecificationAbstract.java:758)",
"org.apache.isis.viewer.restfulobjects.rendering.domainobjects.DomainObjectReprRenderer.withMembers(DomainObjectReprRenderer.java:215)",
\n "org.apache.isis.viewer.restfulobjects.rendering.domainobjects.DomainObjectReprRenderer.render(DomainObjectReprRenderer.java:150)",
"org.apache.isis.viewer.restfulobjects.server.resources.ResourceAbstract.responseOfOk(ResourceAbstract.java:209)",
"org.apache.isis.viewer.restfulobjects.server.resources.ResourceAbstract.responseOfOk(ResourceAbstract.java:204)",
"org.apache.isis.viewer.restfulobjects.server.resources.DomainResourceHelper.objectRepresentation(DomainResourceHelper.java:195)",
"org.apache.isis.viewer.restfulobjects.server.resources.DomainObjectResourceServerside.object(DomainObjectResourceServerside.java:112)",
"sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)",
"sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)",
"sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)",
"java.lang.reflect.Method.invoke(Method.java:606)",
"org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167)",
"org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269)",
"org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227)",
"org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216)",
"org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:542)",
"org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524)",
"org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126)",
"org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)",
"org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)",
"org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)",
"javax.servlet.http.HttpServlet.service(HttpServlet.java:725)",
"org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:301)",
"org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)",
"org.apache.isis.viewer.restfulobjects.server.webapp.IsisTransactionFilterForRestfulObjects.doFilter(IsisTransactionFilterForRestfulObjects.java:41)",
"org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)",
"org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)",
"org.apache.isis.core.webapp.IsisSessionFilter$SessionState$1.handle(IsisSessionFilter.java:320)",
"org.apache.isis.core.webapp.IsisSessionFilter.doFilter(IsisSessionFilter.java:409)",
"org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)",
"org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)",
"org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)",
"org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)",
"org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)",
"org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)",
"org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)",
"org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)",
"org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)",
"org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)",
"org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)",
"org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)",
"org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)",
"org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)",
"org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)",
"org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)",
"org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)",
"org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)",
"org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:74)",
"org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)",
"org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)",
"org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:509)",
"org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1015)",
"org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:651)",
"org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:277)",
"org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2451)",
"org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2440)",
"java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)",
"java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)",
"java.lang.Thread.run(Thread.java:744)" ],
"causedBy" : null