harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Regis Xu (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-6678) [classlib][concurrent]ArrayIndexOutofBounds exception reported in ConcurrentSkipListSet during load test
Date Tue, 30 Nov 2010 05:54:11 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-6678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12965105#action_12965105
] 

Regis Xu commented on HARMONY-6678:
-----------------------------------

        while (iterator.hasNext()) {
            if (index == toArray.length) {
                toArray = trimOrAppend(toArray, toArray.length * 2 + 1);
            }
            for (; index < toArray.length; index++) {
                if (!iterator.hasNext()) {
                    return trimOrAppend(toArray, index);
                }
                toArray[index] = iterator.next();
            }
        } 

I think the inner 'for' loop could be avoid.

Because it's code freeze now, I'll apply patch after 5.0M16 released. Is it OK ?

> [classlib][concurrent]ArrayIndexOutofBounds exception reported in ConcurrentSkipListSet
during load test
> --------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-6678
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6678
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>    Affects Versions: 6.0M3
>         Environment: All Operating Systems
>            Reporter: Prashanth KS
>             Fix For: 6.0M3
>
>         Attachments: 001_HARMONY_6678.patch, 002_HARMONY_6678.patch
>
>
> An ArrayIndexOutofBoundsException is thrown when the toArray(T[]) method is invoked,
under load test with multiple threads. Concurrent updates to the collection results in changing
Iterator sizes. As per the Javadocs, the result of the toArray(T[]) should return as much
elements possible from the Collection. 
> A toArray(T[]) method override has been implemented in ConcurrentSkipListSet and the
bounds check has been included in the base class AbstractCollection to prevent this exception.

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


Mime
View raw message