Share

soapUI

Tracker: Bugs

5 ConcurrentModificationException in load test - ID: 2884515
Last Update: Comment added ( nobody )

I'm getting a ConcurrentModificationException for my load test when running
on Linux. On Windows I haven't seen this issue. Attached is log output.
It's been obfuscated a bit to hide corporate stuff.
Environment:
SUSE Linux 64-bit
JRE: IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Linux amd64-64
j9vmxa6423-20090707 (JIT enabled))
soapUI 3.0.1 nightly 20091022


Anders Hammar ( afloom ) - 2009-10-23 07:34

5

Open

None

Nobody/Anonymous

general

None

Public


Comments ( 8 )




Date: 2009-10-30 07:17
Sender: nobody

Tested with nightly from 20091030. Still CME:

08:10:03,602 INFO [SoapUILoadTestRunner] LoadTest [xxxxx] progress: 0.0,
5
08:10:04,241 INFO [HttpClientSupport$Helper] Initializing KeyStore
08:10:04,258 INFO [HttpClientSupport$Helper] Set KeyMaterial from file
[/blabla/xxx.jks]
08:10:04,307 ERROR [SoapUI] An error occured [concurrent access to HashMap
attempted by Thread[xxxxxx xxx ThreadIndex = 0,5,main]], see error log for
details
08:10:04,307 ERROR [SoapUI] An error occured [concurrent access to HashMap
attempted by Thread[xxxxxx xxx ThreadIndex = 1,5,main]], see error log for
details
java.util.ConcurrentModificationException: concurrent access to HashMap
attempted by Thread[xxxxxx xxx ThreadIndex = 0,5,main]
at java.util.HashMap.onEntry(HashMap.java:214)
at java.util.HashMap.transfer(HashMap.java:686)
at java.util.HashMap.resize(HashMap.java:676)
at java.util.HashMap.addEntry(HashMap.java:1049)
at java.util.HashMap.put(HashMap.java:561)
at
com.eviware.soapui.impl.settings.XmlBeansSettingsImpl.getString(XmlBeansSettingsImpl.java:75)
java.util.ConcurrentModificationException: concurrent access to HashMap
attempted by Thread[SLK-16-01-SamtidigaAnrop Lasttest ThreadIndex =
1,5,main]
at java.util.HashMap.onExit(HashMap.java:226)
at java.util.HashMap.transfer(HashMap.java:690)
at java.util.HashMap.resize(HashMap.java:676)
at java.util.HashMap.addEntry(HashMap.java:1049)
at java.util.HashMap.put(HashMap.java:561)
at
com.eviware.soapui.impl.settings.XmlBeansSettingsImpl.getString(XmlBeansSettingsImpl.java:75)
at
com.eviware.soapui.impl.settings.XmlBeansSettingsImpl.getString(XmlBeansSettingsImpl.java:79)
at
com.eviware.soapui.impl.settings.XmlBeansSettingsImpl.getString(XmlBeansSettingsImpl.java:79)
at
com.eviware.soapui.impl.settings.XmlBeansSettingsImpl.getString(XmlBeansSettingsImpl.java:79)
at
com.eviware.soapui.impl.settings.XmlBeansSettingsImpl.getString(XmlBeansSettingsImpl.java:79)
at
com.eviware.soapui.impl.settings.XmlBeansSettingsImpl.getString(XmlBeansSettingsImpl.java:79)
at
com.eviware.soapui.impl.settings.XmlBeansSettingsImpl.getBoolean(XmlBeansSettingsImpl.java:123)
at
com.eviware.soapui.impl.wsdl.submit.filters.EndpointRequestFilter.filterAbstractHttpRequest(EndpointRequestFilter.java:44)
at
com.eviware.soapui.impl.wsdl.submit.filters.AbstractRequestFilter.filterRequest(AbstractRequestFilter.java:31)
at
com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:130)
at
com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:122)
at
com.eviware.soapui.impl.wsdl.WsdlSubmit.submitRequest(WsdlSubmit.java:75)
at
com.eviware.soapui.impl.wsdl.WsdlRequest.submit(WsdlRequest.java:222)
at
com.eviware.soapui.impl.wsdl.teststeps.WsdlTestRequestStep.run(WsdlTestRequestStep.java:323)
at
com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runTestStep(WsdlTestCaseRunner.java:193)
at
com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:124)
at
com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:39)
at
com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:137)
at
com.eviware.soapui.impl.wsdl.loadtest.WsdlLoadTestRunner$InternalTestCaseRunner.run(WsdlLoadTestRunner.java:547)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:432)
at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:284)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:678)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:703)
at java.lang.Thread.run(Thread.java:811)
at
com.eviware.soapui.impl.settings.XmlBeansSettingsImpl.getString(XmlBeansSettingsImpl.java:79)
at
com.eviware.soapui.impl.settings.XmlBeansSettingsImpl.getString(XmlBeansSettingsImpl.java:79)
at
com.eviware.soapui.impl.settings.XmlBeansSettingsImpl.getString(XmlBeansSettingsImpl.java:79)
at
com.eviware.soapui.impl.settings.XmlBeansSettingsImpl.getString(XmlBeansSettingsImpl.java:79)
at
com.eviware.soapui.impl.settings.XmlBeansSettingsImpl.getString(XmlBeansSettingsImpl.java:79)
at
com.eviware.soapui.impl.settings.XmlBeansSettingsImpl.getBoolean(XmlBeansSettingsImpl.java:123)
at
com.eviware.soapui.impl.wsdl.submit.filters.EndpointRequestFilter.filterAbstractHttpRequest(EndpointRequestFilter.java:44)
at
com.eviware.soapui.impl.wsdl.submit.filters.AbstractRequestFilter.filterRequest(AbstractRequestFilter.java:31)
at
com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:130)
at
com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:122)
at
com.eviware.soapui.impl.wsdl.WsdlSubmit.submitRequest(WsdlSubmit.java:75)
at
com.eviware.soapui.impl.wsdl.WsdlRequest.submit(WsdlRequest.java:222)
at
com.eviware.soapui.impl.wsdl.teststeps.WsdlTestRequestStep.run(WsdlTestRequestStep.java:323)
at
com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runTestStep(WsdlTestCaseRunner.java:193)
at
com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:124)
at
com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:39)
at
com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:137)
at
com.eviware.soapui.impl.wsdl.loadtest.WsdlLoadTestRunner$InternalTestCaseRunner.run(WsdlLoadTestRunner.java:547)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:432)
at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:284)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:678)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:703)
at java.lang.Thread.run(Thread.java:811)



Date: 2009-10-27 13:30
Sender: omatzuraProject Admin

ok.. thanks for reporting, upcoming build will have even more
synchronizations.. let us know!

regards!

/Ole
eviware.com


Date: 2009-10-27 12:05
Sender: afloom

Hmm, maybe a spoke too soon. It works much better with 3.0.1-20091027, but
i did managed to get a CME after several runs. This was with IBM JRE 1.5.0.
The stacktrace is like the attached for jdk1.6.:
12:56:45,144 ERROR [SoapUI] An error occured
[java.util.ConcurrentModificationException], see error log for details
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:1091)
at java.util.HashMap$KeyIterator.next(HashMap.java:1128)
at
com.eviware.soapui.impl.wsdl.endpoint.DefaultEndpointStrategy.filterRequest(DefaultEndpointStrategy.java:152)
at
com.eviware.soapui.impl.wsdl.submit.filters.EndpointStrategyRequestFilter.filterRequest(EndpointStrategyRequestFilter.java:35)
at
com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:130)
at
com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:122)
at
com.eviware.soapui.impl.wsdl.WsdlSubmit.submitRequest(WsdlSubmit.java:75)
at
com.eviware.soapui.impl.wsdl.WsdlRequest.submit(WsdlRequest.java:222)
at
com.eviware.soapui.impl.wsdl.teststeps.WsdlTestRequestStep.run(WsdlTestRequestStep.java:323)
at
com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runTestStep(WsdlTestCaseRunner.java:193)
at
com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:124)
at
com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:39)
at
com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:137)
at
com.eviware.soapui.impl.wsdl.loadtest.WsdlLoadTestRunner$InternalTestCaseRunner.run(WsdlLoadTestRunner.java:547)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:432)
at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:284)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:678)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:703)
at java.lang.Thread.run(Thread.java:811)



Date: 2009-10-27 11:50
Sender: afloom

Tested with IBM J9 JRE 1.5.0 and it works like a charm. Thanks!


Date: 2009-10-25 23:54
Sender: omatzuraProject Admin

Hi!

thanks for reporting.. the upcoming nightly build attempts to fix this on
jdk 1.6, can you give it a try and let us know?

regards!

/Ole
eviware.com


Date: 2009-10-23 12:14
Sender: afloom

It might be of interest to know that for the endpoint being used here, I
have property expansion in the URL. I also start loadtestrunner.sh defining
the -h switch.


Date: 2009-10-23 08:12
Sender: afloom

Actually, when looking more closely, I see that the CME is thrown at a
different place when executing with JDK 1.6. See attached log.


Date: 2009-10-23 07:48
Sender: afloom

Tested on the same server but with Sun JDK 1.6.0_13-b03. The issue still
exists.


Log in to comment.




Attached Files ( 2 )

Filename Description Download
soapui-ConcurrentModificationException-jdk16.txt exception with Sun jdk 1.6 Download
soapui-ConcurrentModificationException.txt Download

Changes ( 2 )

Field Old Value Date By
File Added 347850: soapui-ConcurrentModificationException-jdk16.txt 2009-10-23 08:11 afloom
File Added 347838: soapui-ConcurrentModificationException.txt 2009-10-23 07:34 afloom