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] [Comment Edited] (COCOON-2340) XMLByteStreamCompiler in not thread-safe
Date Thu, 28 Nov 2013 12:17:35 GMT

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

Ivan Lagunov edited comment on COCOON-2340 at 11/28/13 12:15 PM:
-----------------------------------------------------------------

Hi Javier,

I would like to try Cocoon 2.2.1 first but could you say where it's located? I suppose it
must be under trunk here http://svn.apache.org/repos/asf/cocoon/trunk/ ? Is it stable enough
for Production usage? It's written here that SNAPSHOTS are not tested and not guaranteed to
even build cleanly: https://cocoon.apache.org/mirror.cgi

Regarding singleton components in the pipeline. I'm using standard Cocoon components, you
can see the exception is coming from ExpiresCachingProcessingPipeline. Did you mean that some
Cocoon 2.2 components are declared as singletons? Because I don't think I can fix it in my
code.

Ivan


was (Author: lagivan):
Hi Javier,

I would like to try Cocoon 2.2.1 first but could you say where it's located? I suppose it
must be under trunk here http://svn.apache.org/repos/asf/cocoon/trunk/ ? Is it stable enough
for Production usage? I mean it's written here that SNAPSHOTS are not tested and not guaranteed
to even build cleanly: https://cocoon.apache.org/mirror.cgi

Ivan

> 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