cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ivan Lagunov (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (COCOON-2340) XMLByteStreamCompiler in not thread-safe
Date Wed, 27 Nov 2013 15:37:35 GMT

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

Ivan Lagunov commented on COCOON-2340:
--------------------------------------

Synchronization helped to avoid the Exception although now the resource seems to be loaded
partially. So the root cause is on the upper level. Perhaps, all writes to this.buf must be
done before getSAXFragment invocation because all the data written to this.buf afterwards
seems to be ignored.

> XMLByteStreamCompiler in not thread-safe
> ----------------------------------------
>
>                 Key: COCOON-2340
>                 URL: https://issues.apache.org/jira/browse/COCOON-2340
>             Project: Cocoon
>          Issue Type: Bug
>          Components: * Cocoon Core
>    Affects Versions: 2.2
>            Reporter: Ivan Lagunov
>
> I'm periodically getting the following exceptions in different places:
> Caused by: java.lang.ArrayIndexOutOfBoundsException
>         at java.lang.System.arraycopy(Native Method)
>         at org.apache.cocoon.components.sax.XMLByteStreamCompiler.getSAXFragment(XMLByteStreamCompiler.java:61)
>         at org.apache.cocoon.components.pipeline.impl.ExpiresCachingProcessingPipeline.processXMLPipeline(ExpiresCachingProcessingPipeline.java:152)
> After debugging I've found the root cause. It happens due to multi-threading when one
thread allocates newbuf array, then another thread increments bufCount in write method and
then the first thread fails on System.arraycopy invocation.
> I suggest making getSAXFragment and write methods synchronized. It should resolve the
issue. If it helps, I'll provide a patch later.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message