You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-dev@xerces.apache.org by "Michael Glavassevich (JIRA)" <xe...@xml.apache.org> on 2010/02/24 06:51:27 UTC

[jira] Commented: (XERCESJ-1423) SoftReferenceSymbolTable has infinite loop due to cyclical reference in SREntry linked list.

    [ https://issues.apache.org/jira/browse/XERCESJ-1423?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12837639#action_12837639 ] 

Michael Glavassevich commented on XERCESJ-1423:
-----------------------------------------------

Joe / Anli, it appears that neither of you have a CLA on record [1] with the ASF. For most contributions to Xerces a Contributor License Agreement (CLA) [2] is required. Faxing a signed copy of this agreement to Apache will allow us to accept your code into the project. Anli, since you contributed the patch can you do this?

Thanks.

[1] http://people.apache.org/~jim/committers.html
[2] http://xerces.apache.org/charter.html#CONTRIBUTORS

> SoftReferenceSymbolTable has infinite loop due to cyclical reference in SREntry linked list.
> --------------------------------------------------------------------------------------------
>
>                 Key: XERCESJ-1423
>                 URL: https://issues.apache.org/jira/browse/XERCESJ-1423
>             Project: Xerces2-J
>          Issue Type: Bug
>    Affects Versions: 2.9.1
>         Environment: Windows XP SP3, and Arch Linux (2.6.31-ARCH)
>            Reporter: Joe Baysdon
>         Attachments: XERCESJ-1423.patch
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> The rehash( ) method, in org.apache.xerces.util.SoftReferenceSymbolTable, does not re-set the SREntry.prev pointer to null, so the final entry placed in each bucket may have an improper  "prev" value following the rehash( ).  Since the removeEntry method uses that "prev" pointer to reconnect the linked list around the removed link, the linked list can contain an illegal cycle.  These cycles may produce infinite loops in either of the addSymbol methods or in the rehash method, itself.
> The solution is to this line:
>    e.prev = null;
> to the rehash method, following this line:
>    e.next = newTable[index];

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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