[
https://issues.apache.org/jira/browse/CXF-4411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13411214#comment-13411214
]
Freeman Fang commented on CXF-4411:
-----------------------------------
Hi,
Yeah, we need
option1. add synchronized for these methods(add, load, destory) to avoid the
ConcurrentModificationException.
Or
option2. we can change variable "all" as ConcurrentHashMap and remove most the
synchronized from methods to get a better performance, but we way lose some
concurrent map update in this case.
I'm going to change using option1
Freeman
> Maven plugin fails wsdl2java execution with concurrent modification exception
> -----------------------------------------------------------------------------
>
> Key: CXF-4411
> URL: https://issues.apache.org/jira/browse/CXF-4411
> Project: CXF
> Issue Type: Bug
> Affects Versions: 2.6.1
> Environment: Linux, IBM JVM 1.6, Builder is Atlassian Bamboo 2.7.6,
> Maven 3.0.4
> Reporter: Jeroen Benckhuijsen
> Assignee: Freeman Fang
>
> We're getting a concurrent modification exception while running a parallel
> build (-T C5) using Maven 3. Reproducability is low, so it seems to be some
> race condition. Stack trace:
> build 06-Jul-2012 16:42:33
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute
> goal org.apache.cxf:cxf-codegen-plugin:2.6.1:wsdl2java
> (generate-sources-task-callback) on project gps-wps-process-client-takp:
> java.util.ConcurrentModificationException
> build 06-Jul-2012 16:42:33 at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
> build 06-Jul-2012 16:42:33 at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
> build 06-Jul-2012 16:42:33 at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
> build 06-Jul-2012 16:42:33 at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
> build 06-Jul-2012 16:42:33 at
> org.apache.maven.lifecycle.internal.LifecycleThreadedBuilder$1.call(LifecycleThreadedBuilder.java:167)
> build 06-Jul-2012 16:42:33 at
> org.apache.maven.lifecycle.internal.LifecycleThreadedBuilder$1.call(LifecycleThreadedBuilder.java:163)
> build 06-Jul-2012 16:42:33 at
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:315)
> build 06-Jul-2012 16:42:33 at
> java.util.concurrent.FutureTask.run(FutureTask.java:150)
> build 06-Jul-2012 16:42:33 at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:453)
> build 06-Jul-2012 16:42:33 at
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:315)
> build 06-Jul-2012 16:42:33 at
> java.util.concurrent.FutureTask.run(FutureTask.java:150)
> build 06-Jul-2012 16:42:33 at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:898)
> build 06-Jul-2012 16:42:33 at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:920)
> build 06-Jul-2012 16:42:33 at java.lang.Thread.run(Thread.java:736)
> build 06-Jul-2012 16:42:33 Caused by:
> org.apache.maven.plugin.MojoExecutionException:
> java.util.ConcurrentModificationException
> build 06-Jul-2012 16:42:33 at
> org.apache.cxf.maven_plugin.wsdl2java.WSDL2JavaMojo.generate(WSDL2JavaMojo.java:234)
> build 06-Jul-2012 16:42:33 at
> org.apache.cxf.maven_plugin.AbstractCodegenMoho.execute(AbstractCodegenMoho.java:250)
> build 06-Jul-2012 16:42:33 at
> org.apache.cxf.maven_plugin.wsdl2java.WSDL2JavaMojo.execute(WSDL2JavaMojo.java:308)
> build 06-Jul-2012 16:42:33 at
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
> build 06-Jul-2012 16:42:33 at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
> build 06-Jul-2012 16:42:33 ... 13 more
> build 06-Jul-2012 16:42:33 Caused by:
> org.apache.cxf.tools.common.ToolException:
> java.util.ConcurrentModificationException
> build 06-Jul-2012 16:42:33 at
> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:294)
> build 06-Jul-2012 16:42:33 at
> org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:103)
> build 06-Jul-2012 16:42:33 at
> org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:113)
> build 06-Jul-2012 16:42:33 at
> org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:86)
> build 06-Jul-2012 16:42:33 at
> org.apache.cxf.maven_plugin.wsdl2java.WSDL2JavaMojo.generate(WSDL2JavaMojo.java:231)
> build 06-Jul-2012 16:42:33 ... 17 more
> build 06-Jul-2012 16:42:33 Caused by:
> java.util.ConcurrentModificationException
> build 06-Jul-2012 16:42:33 at
> java.util.LinkedHashMap$AbstractMapIterator.checkConcurrentMod(LinkedHashMap.java:136)
> build 06-Jul-2012 16:42:33 at
> java.util.LinkedHashMap$AbstractMapIterator.makeNext(LinkedHashMap.java:141)
> build 06-Jul-2012 16:42:33 at
> java.util.LinkedHashMap$ValueIterator.next(LinkedHashMap.java:214)
> build 06-Jul-2012 16:42:33 at
> org.apache.cxf.bus.extension.ExtensionManagerImpl.getBeansOfType(ExtensionManagerImpl.java:299)
> build 06-Jul-2012 16:42:33 at
> org.apache.cxf.bus.CXFBusImpl.getExtension(CXFBusImpl.java:99)
> build 06-Jul-2012 16:42:33 at
> org.apache.cxf.tools.common.toolspec.AbstractToolContainer.getBus(AbstractToolContainer.java:191)
> build 06-Jul-2012 16:42:33 at
> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.processWsdl(WSDLToJavaContainer.java:167)
> build 06-Jul-2012 16:42:33 at
> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:139)
> build 06-Jul-2012 16:42:33 at
> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:286)
> build 06-Jul-2012 16:42:33 ... 21 more
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira