Hello Manuel,

  I attached a patch to the Jira bug AXIS-2498 . This patch
synchronizes access to the internal maps and arrays of
TypeMappingImpl. Patch details are attached to the Jira bug.

  Hope this helps,

  Cyrille

PS : I am surprised you didn't see the source modifications between
the two java files in oncluded in axis-1.4-threadSafetyPatch.jar
(TypeMappingImpl_axis-1.4.java and TypeMappingImpl.java). I should
have detailed the content of the jar in my email :-)

PPS : https://issues.apache.org/jira/browse/AXIS-2498

--
Cyrille Le Clerc
[EMAIL PROTECTED]
[EMAIL PROTECTED]
+33 6.61.33.69.86


On 6/10/06, Manuel Mall <[EMAIL PROTECTED]> wrote:
On Sunday 11 June 2006 06:36, Cyrille Le Clerc wrote:
>    Hello Manuel,
>
>    My understanding is the Stub#createCall invokes methods on an
> instance of TypeMapping that is shared by the AxisEngine via the
> TypeMappingRegistry. Unfortunately, this TypeMappingImpl is not
> threadsafe.
>

I was afraid that would be the case. Curious how come I am (actually my
customer) the first one to stumble across this. Axis has been around
for quite some time and is used many production environments I thought.

>    Here is a a draft patch that should fix it waiting for an official
> patch. Note that I didn't succeed in reproducing the deadlock, I
> patched according to my understanding of the problem.
>    Moreover, I preferred to send you this draft/emergency patch
> before doing extensive testings. It works on my samples but I didn't
> look at the impact on performances (it should be limited ).
>

Your quick patch is much appreciated Cyrille. However, I looked at the
source included in the jar file and a diff against the original didn't
show any differences. Before asking my customer to test with this (I
can't reproduce the problem on my systems either) I would like to make
sure I can build myself what I provide to them.

BTW, I have reported the problem in Jira now:
https://issues.apache.org/jira/browse/AXIS-2498

> HOW TO US THIS PATCH ?
>
>    Here is a draft patch to fix this issue. To use it, the easiest
> way is to unzip axis-1.4-threadSafetyPatch.jar under /WEB-INF/classes
> (classloader order).
>
> PATCH DESCRIPTION
> TypeMappingImpl.java is the only modified class. Modifications:
> - use synchronized maps instead of plain HashMaps
> - synchronize internalRegister() method to ensure atomicity of access
> to maps in modification
> - synchronize access to "namespaces" variable in
> setSupportedEncodings to ensure atomicity of the clear-add sequence
>
>    Hope this helps,
>
>    Cyrille

Thanks again

Manuel

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

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

Reply via email to