You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Tanmay Ambre (Jira)" <ji...@apache.org> on 2023/02/24 15:26:00 UTC

[jira] [Created] (COLLECTIONS-838) Calling SetUtils.union on multiple instances of SetView causes JVM to hang

Tanmay Ambre created COLLECTIONS-838:
----------------------------------------

             Summary: Calling SetUtils.union on multiple instances of SetView causes JVM to hang
                 Key: COLLECTIONS-838
                 URL: https://issues.apache.org/jira/browse/COLLECTIONS-838
             Project: Commons Collections
          Issue Type: Bug
          Components: Collection
    Affects Versions: 4.4
            Reporter: Tanmay Ambre
         Attachments: Test1.java

hi,

 

Please have a look at the attached test class. If I call the SetUtils.union multiple times (~40) the JVM hangs. However, it will complete if I reduce the iterations (~30). 

 

Stack Trace:

 
"main" #1 prio=5 os_prio=31 cpu=829612.28ms elapsed=839.75s tid=0x000000015d008a00 nid=0x1803 runnable  [0x000000016ffc1000]
   java.lang.Thread.State: RUNNABLE
at org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174)
at org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222)
at org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236)
at org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73)
at java.lang.Iterable.forEach(java.base@17.0.2/Iterable.java:74)
at Test1.main(CollectionFunctionsTest.java:107)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)