You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Eduard Gomoliako (Jira)" <ji...@apache.org> on 2025/04/09 16:17:00 UTC
[jira] [Comment Edited] (COLLECTIONS-838) Calling SetUtils.union on multiple instances of SetView causes JVM to hang
[ https://issues.apache.org/jira/browse/COLLECTIONS-838?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17942239#comment-17942239 ]
Eduard Gomoliako edited comment on COLLECTIONS-838 at 4/9/25 4:16 PM:
----------------------------------------------------------------------
TBH, I didn't quite get the initial response on the bug, but I find it strange that it doesn't get fixed.
We stumbled upon the same issue and had to introduce our own {{SetUtils}} that fixes this problem.
In our case it was a constructor accepting an {{Iterable}} that used further {{Set.copyOf}} having the result of {{SetUtils.union}} provided into it having before it cast to a {{Collection}} (because it's a collection). And JVM got to hang there.
Intuitively, one would expect that the result of {{SetUtils.union}} could be safely used anywhere a {{Set}} is accepted. However, this doesn't seem to be the case in practice.
Could this issue be prioritized for resolution? I'm happy to provide additional details about our use case if helpful.
was (Author: JIRAUSER292949):
TBH, I didn't quite get the initial response on the bug, but I find it strange that it doesn't get fixed.
We stumbled upon the same issue and had to introduce our own `SetUtils` that fixes this problem.
In our case it was a constructor accepting an `Iterable` that used further `Set.copyOf` having the result of `SetUtils.union` provided into it having before it cast to a `Collection` (because it's a collection). And JVM got to hang there.
Intuitively, one would expect that the result of {{SetUtils.union}} could be safely used anywhere a {{Set}} is accepted. However, this doesn't seem to be the case in practice.
Could this issue be prioritized for resolution? I'm happy to provide additional details about our use case if helpful.
> 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
> Priority: Major
> 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)