axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kumar Sudhanshu (JIRA)" <axis-...@ws.apache.org>
Subject [jira] [Commented] (AXIS-2909) ConcurrentModificationException when running under Java 1.8.0_20 or later
Date Wed, 07 Mar 2018 07:16:00 GMT

    [ https://issues.apache.org/jira/browse/AXIS-2909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16389164#comment-16389164
] 

Kumar Sudhanshu commented on AXIS-2909:
---------------------------------------

Hi Apache team,

We would like to have information on release date of production version of ApacheAXIS-1.4.1
JAR version.

It is mentioned here that fix would be available in version: 1.4.1 (Apache AXIS 1.4.1)

 From Apache AXIS releases page, we observed that this JAR version is not yet released and
also we could not find information on when it would be released.

Jar release page : [https://svn.apache.org/repos/asf/axis/site/axis/java/releases.html]

We have the below queries:
 * Kindly let us know, if there are any release plans scheduled for Apache AXIS 1.4.1 JAR
in near future.
 * Is there a possibility of providing a beta version of the jar against which we can test
if the above mentioned JIRA is fixed.
 * There is a diff patch attached with this JIRA : AXIS -2909, please let me know, if we can
apply that patch to test the fix for the above mentioned JIRA?

Regards

KumarSudhanshu

> ConcurrentModificationException when running under Java 1.8.0_20 or later
> -------------------------------------------------------------------------
>
>                 Key: AXIS-2909
>                 URL: https://issues.apache.org/jira/browse/AXIS-2909
>             Project: Axis
>          Issue Type: Bug
>          Components: Serialization/Deserialization
>    Affects Versions: 1.4
>         Environment: java full version "1.8.0_20-b26"
>            Reporter: Kim Albertsson
>            Assignee: Andreas Veithen
>            Priority: Critical
>             Fix For: 1.4.1
>
>         Attachments: axis-concurrent-mod.stack-trace, diff.txt
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> Java 8u20 introduced a change in how Collections.sort is implemented. See http://bugs.java.com/view_bug.do?bug_id=8032636
and http://bugs.java.com/view_bug.do?bug_id=8030848.
> The sorting is now deferred to the specific list implementation which can operate directly
on the underlying data structure without making a defensive copy beforehand. This can cause
a java.util.ConcurrentModificationException to occur. 
> The error can be reproduced by compiling axis-1.4.1-SNAPSHOT using java 1.8.0_20 or later
and running the maven test suite (mvn test). The error does not manifest every single run,
but I have never had to run the tests more than 3 times to reproduce. The test that fails
is test.concurrency.TestApplicationScope.
> The issue originates in org.apache.axis.description.JavaServiceDesc.getOperationsByQName
where an unsynchronized call to Collections.sort is made. Synchronizing over the sorted array
resolves the issue.
> A working patch that has been tested in the test suite is appended in diff.txt.
> The stack trace from the axis test-suite is appended below. Do note however that this
stack trace does not show the actual error (The original error is caught and rethrown). To
get the stack trace where the Collections.sort call is made you can run the specific test
and attach the jdb configured to catch all java.util.ConcurrentModificationExceptions.
> The stack trace from my jdb session is appended as axis-concurrent-mod.stack-trace. It
was generated from an apache tomcat instance running a webservice relying on axis.
> AxisFault
>  faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
>  faultSubcode: 
>  faultString: java.util.ConcurrentModificationException
>  faultActor: 
>  faultNode: 
>  faultDetail: 
>         {http://xml.apache.org/axis/}stackTrace:java.util.ConcurrentModificationException
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
>         at java.lang.Class.newInstance(Class.java:442)
>         at org.apache.axis.encoding.ser.BeanDeserializer.&lt;init&gt;(BeanDeserializer.java:104)
>         at org.apache.axis.encoding.ser.BeanDeserializerFactory.getGeneralPurpose(BeanDeserializerFactory.java:89)
>         at org.apache.axis.encoding.ser.BaseDeserializerFactory.getDeserializerAs(BaseDeserializerFactory.java:89)
>         at org.apache.axis.encoding.DeserializationContext.getDeserializer(DeserializationContext.java:484)
>         at org.apache.axis.encoding.DeserializationContext.getDeserializerForType(DeserializationContext.java:567)
>         at org.apache.axis.message.SOAPFaultDetailsBuilder.onStartChild(SOAPFaultDetailsBuilder.java:157)
>         at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1052)
>         at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
>         at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
>         at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
>         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
>         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
>         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>         at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>         at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
>         at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:241)
>         at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
>         at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
>         at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
>         at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
>         at org.apache.axis.client.Call.invokeEngine(Call.java:2782)
>         at org.apache.axis.client.Call.invoke(Call.java:2765)
>         at org.apache.axis.client.Call.invoke(Call.java:2443)
>         at org.apache.axis.client.Call.invoke(Call.java:2366)
>         at org.apache.axis.client.Call.invoke(Call.java:2391)
>         at test.concurrency.TestApplicationScope$TestRunnable.run(TestApplicationScope.java:80)
>         at java.lang.Thread.run(Thread.java:745)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


Mime
View raw message