> >> Exception in thread "Timer-0" java.util.ConcurrentModificationException > >> at java.util.HashMap$HashIterator.nextEntry(Unknown Source) > >> at java.util.HashMap$ValueIterator.next(Unknown Source) > >> at > >> org.apache.cocoon.components.flow.ContinuationsManagerImpl. > invalidateContinuations( > >> ContinuationsManagerImpl.java:390) > >> at > >> org.apache.cocoon.components.flow. > ContinuationsManagerImpl$WebContinuationsHolder.valueUnbound( > >> ContinuationsManagerImpl.java:548) > >> at > >> org.mortbay.jetty.servlet.AbstractSessionManager$Session.unbindValue( > >> AbstractSessionManager.java:1125) > > > > It's a new bug I introduced with [1]. Reviewing the changes I did I > > found that I "optimized" some code. :-) It's around line 390 [2]. I'll
> > have a look on how to fix it. Sorry for the inconveniences. > > Two different proposals: > 1. Reintroducing the original workaround using > continuationsHolder.holder.values().toArray() in > invalidateContinuations(..). > > 2. Adding iter.remove() directly after iter.next() in line 390. The > later problematic call to remove the continuation from the map would > just not do anything. > > WDYT? +1 for first proposal) this seems much cleaner to me, than calling iter.next() and afterwards iter.remove().... cheers,gabriel
