harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kevin Zhou <zhoukevi...@gmail.com>
Subject Re: [jira] Created: (HARMONY-6145) [classlib][luni] java.lang.LinkedList.addAll(Collection<? extends E> collection) runs into endless loop
Date Fri, 10 Apr 2009 09:54:10 GMT
:)

On Fri, Apr 10, 2009 at 5:53 PM, Kevin Zhou <zhoukevin83@gmail.com> wrote:

> When add a collection to itself, this endless loop results from increasing
> of collection due to adding elements.
> Other collections that implements set or map interface will only have sole
> element. Thus adding self will not change the size.
>
> Therefore, only collections implements List or Queue may possibly results
> in such failure.
>
> Till now, I don't find any other class that fails on this.
>
>
> On Fri, Apr 10, 2009 at 5:30 PM, Regis <xu.regis@gmail.com> wrote:
>
>> Kevin Zhou wrote:
>>
>>> Hi,
>>> I have investigated this defect.
>>> This problem happens on two methods [1][2] of java.lang.LinkedList class.
>>> Initialize a LinkedList and add element at the last position. Then adding
>>> this linkedList to itself will trigger a endless loop.
>>>
>>> The root cause is that the implementation of the above addAll methods
>>> adds
>>> elements directly from linkList itself which will also change the added
>>> linkList.
>>> It should transfer the added collection into an array, then add elements
>>> from that array rather than directly from the linkList itself.
>>>
>>> [1] public boolean addAll(Collection<? extends E> c)
>>> [2] public boolean addAll(int index, Collection<? extends E> c)
>>>
>>>
>> Does the endless loop happen in other collection's addAll() methods?
>>
>> --
>> Best Regards,
>> Regis.
>>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message