[ 
https://issues.apache.org/jira/browse/AXIS2-1053?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Srinath Perera updated AXIS2-1053:
----------------------------------

    Priority: Blocker  (was: Critical)

I belive this is critical so I moved it up to  a blocker. IMHO most simplest 
option is to use a vector to hold the handlers  so they are thread safe on all 
the accesses. But if we do not want to do it and want to fix this bug, we must 
syncronized all accsess including READ accsses. 

> ConcurrentModificationException when concurrent threads try to engage the 
> Addressing module
> -------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-1053
>                 URL: https://issues.apache.org/jira/browse/AXIS2-1053
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: client-api
>         Environment: Windows XP SP2, mac OS X 10.4.7, jdk 1.5.0_06, axis2 
> nightly build 17/08/06
>            Reporter: Michele Mazzucco
>            Assignee: Deepal Jayasinghe
>            Priority: Blocker
>         Attachments: test.tar.gz
>
>
> Multiple sender objects are used to concurrently send (asynchronous) 
> messages. The threads are created using a ExecutorService object and each 
> thread creates a ServiceClient using the provided configuration, which is:
> ConfigurationContext configurationContext =
> ConfigurationContextFactory.createConfigurationContextFromFileSystem(null,
> null);
> HttpClient httpClient = new HttpClient(new
> MultiThreadedHttpConnectionManager());
> configurationContext.setProperty(HTTPConstants.REUSE_HTTP_CLIENT,
> Boolean.TRUE);
> configurationContext.setProperty(HTTPConstants.CACHED_HTTP_CLIENT,
> httpClient);
> The problem arises when the threads try to (concurrently) engage the 
> Addressing module:
> Exception in thread "pool-1-thread-2" 
> java.util.ConcurrentModificationException
>      [java]     at 
> java.util.AbstractList$Itr.checkForComodification(AbstractList.java:449)
>      [java]     at java.util.AbstractList$Itr.next(AbstractList.java:420)
>      [java]     at org.apache.axis2.engine.Phase.addHandler(Phase.java:136)
>      [java]     at 
> org.apache.axis2.phaseresolver.PhaseHolder.addHandler(PhaseHolder.java:64)
>      [java]     at 
> org.apache.axis2.phaseresolver.PhaseResolver.engageModuleToOperation(PhaseResolver.java:191)
>      [java]     at 
> org.apache.axis2.description.AxisOperation.engageModuleToOperation(AxisOperation.java:154)
>      [java]     at 
> org.apache.axis2.description.AxisOperation.engageModule(AxisOperation.java:128)
>      [java]     at 
> org.apache.axis2.description.AxisService.engageModule(AxisService.java:479)
>      [java]     at 
> org.apache.axis2.client.ServiceClient.engageModule(ServiceClient.java:271)
>      [java]     at ncl.qosp.test.functional.client.Sender.run(Sender.java:134)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>      [java]     at java.lang.Thread.run(Thread.java:613)
> Please find attached a sample application (a readme file including the build 
> instructions is probvided) to reproduce the problem.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to