[seam-issues] [JBoss JIRA] (JBSEAM-5123) Random ConcurrentModificationException in SynchronizationRegistry when starting business process

Robert Becker (JIRA) jira-events at lists.jboss.org
Fri Aug 2 11:49:26 EDT 2013


    [ https://issues.jboss.org/browse/JBSEAM-5123?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12794828#comment-12794828 ] 

Robert Becker commented on JBSEAM-5123:
---------------------------------------

Sorry, my fault. After digging further in the server log files I found out that the pooled-actor expression for the first task in the process under some circumstances returns null and produces a org.jbpm.JbpmException. This causing a ConcurrentModificationException is still a bit strange, though. 
Issue can be closed.
                
> Random ConcurrentModificationException in SynchronizationRegistry when starting business process
> ------------------------------------------------------------------------------------------------
>
>                 Key: JBSEAM-5123
>                 URL: https://issues.jboss.org/browse/JBSEAM-5123
>             Project: Seam 2
>          Issue Type: Bug
>          Components: BPM
>    Affects Versions: 2.2.2.Final
>            Reporter: Robert Becker
>
> I get infrequent ConcurrentModificationException in the SynchronizationRegistry when starting business processes. The processes are started programmatically via
> {code}
> Contexts.getBusinessProcessContext().set("someVariable", myVariable);
> BusinessProcess.instance().createProcess("process-name");
> {code}
> The exception occurs roughly about 1 in 100 times a process is started and I was not yet able to reproduce it.
> This is the full exception:
> {code}
> ava.util.ConcurrentModificationException
> 	at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:819)
> 	at java.util.ArrayList$Itr.next(ArrayList.java:791)
> 	at org.jboss.seam.transaction.SynchronizationRegistry.beforeTransactionCompletion(SynchronizationRegistry.java:58)
> 	at org.jboss.seam.transaction.SeSynchronizations.beforeTransactionCommit(SeSynchronizations.java:49)
> 	at org.jboss.seam.transaction.UTTransaction.commit(UTTransaction.java:49)
> 	at org.jboss.seam.util.Work.workInTransaction(Work.java:72)
> 	at org.jboss.seam.bpm.ProcessInstance.getProcessInstance(ProcessInstance.java:39)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:601)
> 	at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
> 	at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:144)
> 	at org.jboss.seam.Component.callComponentMethod(Component.java:2275)
> 	at org.jboss.seam.Component.unwrap(Component.java:2301)
> 	at org.jboss.seam.Component.getInstance(Component.java:2044)
> 	at org.jboss.seam.Component.getInstance(Component.java:2003)
> 	at org.jboss.seam.Component.getInstance(Component.java:1997)
> 	at org.jboss.seam.Component.getInstance(Component.java:1970)
> 	at org.jboss.seam.Component.getInstance(Component.java:1965)
> 	at org.jboss.seam.bpm.ProcessInstance.instance(ProcessInstance.java:67)
> 	at org.jboss.seam.bpm.BusinessProcess.hasActiveProcess(BusinessProcess.java:64)
> 	at org.jboss.seam.contexts.Contexts.flushAndDestroyContexts(Contexts.java:347)
> 	at org.jboss.seam.contexts.Lifecycle.endRequest(Lifecycle.java:164)
> 	at org.jboss.seam.web.ExceptionFilter.endWebRequestAfterException(ExceptionFilter.java:89)
> 	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:70)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:73)
> 	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
> 	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
> 	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
> 	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
> 	at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
> 	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
> 	at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
> 	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
> 	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
> 	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
> 	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)
> 	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
> 	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
> 	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
> 	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
> 	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
> 	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
> 	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
> 	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
> 	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
> 	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
> 	at java.lang.Thread.run(Thread.java:722
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the seam-issues mailing list