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)