You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wink.apache.org by "Matt (JIRA)" <ji...@apache.org> on 2011/04/18 20:12:05 UTC

[jira] [Created] (WINK-345) AbstractJAXBCollectionProvider write method is placing Marshaller back in pool before it is done being used.

AbstractJAXBCollectionProvider write method is placing Marshaller back in pool before it is done being used.
------------------------------------------------------------------------------------------------------------

                 Key: WINK-345
                 URL: https://issues.apache.org/jira/browse/WINK-345
             Project: Wink
          Issue Type: Bug
          Components: Common
    Affects Versions: 1.1.2
            Reporter: Matt
            Priority: Critical


Within the write() method in the AbstractJAXBCollectionProvider class, a for each loop is used to marshall each object in the elementArray.  Within this for loop, right before the next iteration is made, the marshaller that is being used is released back to the marshaller pool.  The remaining elements will then be iterated upon using the same marshaller because the marshaller pointer that is referred to is not null.  This creates the possibility of a single marshaller being used by multiple threads.

In version 1.1.2, see line 167 for the referred to null check and line 187 for the misplaced releaseJAXBMarshaller() method call.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Resolved] (WINK-345) AbstractJAXBCollectionProvider write method is placing Marshaller back in pool before it is done being used.

Posted by "Luciano Resende (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WINK-345?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Luciano Resende resolved WINK-345.
----------------------------------

       Resolution: Fixed
    Fix Version/s: 1.2

Patch applied by bluk in svn revision 1094688
                
> AbstractJAXBCollectionProvider write method is placing Marshaller back in pool before it is done being used.
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: WINK-345
>                 URL: https://issues.apache.org/jira/browse/WINK-345
>             Project: Wink
>          Issue Type: Bug
>          Components: Common
>    Affects Versions: 1.1.2
>            Reporter: Matt
>            Priority: Critical
>             Fix For: 1.2
>
>
> Within the write() method in the AbstractJAXBCollectionProvider class, a for each loop is used to marshall each object in the elementArray.  Within this for loop, right before the next iteration is made, the marshaller that is being used is released back to the marshaller pool.  The remaining elements will then be iterated upon using the same marshaller because the marshaller pointer that is referred to is not null.  This creates the possibility of a single marshaller being used by multiple threads.
> In version 1.1.2, see line 167 for the referred to null check and line 187 for the misplaced releaseJAXBMarshaller() method call.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (WINK-345) AbstractJAXBCollectionProvider write method is placing Marshaller back in pool before it is done being used.

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/WINK-345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13021170#comment-13021170 ] 

Hudson commented on WINK-345:
-----------------------------

Integrated in Wink-Trunk-JDK1.5 #457 (See [https://hudson.apache.org/hudson/job/Wink-Trunk-JDK1.5/457/])
    Once marshaller is released, don't re-use

Fixes [WINK-345].

Thanks to Matt for reporting the issue.


> AbstractJAXBCollectionProvider write method is placing Marshaller back in pool before it is done being used.
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: WINK-345
>                 URL: https://issues.apache.org/jira/browse/WINK-345
>             Project: Wink
>          Issue Type: Bug
>          Components: Common
>    Affects Versions: 1.1.2
>            Reporter: Matt
>            Priority: Critical
>
> Within the write() method in the AbstractJAXBCollectionProvider class, a for each loop is used to marshall each object in the elementArray.  Within this for loop, right before the next iteration is made, the marshaller that is being used is released back to the marshaller pool.  The remaining elements will then be iterated upon using the same marshaller because the marshaller pointer that is referred to is not null.  This creates the possibility of a single marshaller being used by multiple threads.
> In version 1.1.2, see line 167 for the referred to null check and line 187 for the misplaced releaseJAXBMarshaller() method call.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira