[
https://issues.apache.org/jira/browse/FELIX-4783?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14303009#comment-14303009
]
Jean-Baptiste Onofré commented on FELIX-4783:
---------------------------------------------
Unfortunately, I don't think your patch will solve completely the problem. We
can try to use a ConcurrentHashSet.
> ConcurrentModificationException when stopping
> ---------------------------------------------
>
> Key: FELIX-4783
> URL: https://issues.apache.org/jira/browse/FELIX-4783
> Project: Felix
> Issue Type: Bug
> Components: Gogo Runtime
> Reporter: Christian Schneider
> Attachments: FELIX-4783-1.patch
>
>
> The exception below happens in the karaf itests but originates in felix.
> The problem is in org.apache.felix.gogo.runtime.CommandProcessorImpl.stop .
> It iterates over the sessions in a foreach loop and removes the session
> during the iteration.
> I propose to do the remove at the end in one clear call.
> This should go into gogo runtime 0.14.1. Unfortunately there is no version
> for it in jira.
> 14:31:55,602 | ERROR | Felix |
> Error stopping bundle.
> java.util.ConcurrentModificationException
> at
> java.util.WeakHashMap$HashIterator.nextEntry(WeakHashMap.java:882)[:1.7.0_60]
> at java.util.WeakHashMap$KeyIterator.next(WeakHashMap.java:915)[:1.7.0_60]
> at
> org.apache.felix.gogo.runtime.CommandProcessorImpl.stop(CommandProcessorImpl.java:87)[42:org.apache.karaf.shell.core:4.0.0.SNAPSHOT]
> at
> org.apache.karaf.shell.impl.console.SessionFactoryImpl.stop(SessionFactoryImpl.java:139)[42:org.apache.karaf.shell.core:4.0.0.SNAPSHOT]
> at
> org.apache.karaf.shell.impl.console.osgi.secured.SecuredSessionFactoryImpl.stop(SecuredSessionFactoryImpl.java:76)[42:org.apache.karaf.shell.core:4.0.0.SNAPSHOT]
> at
> org.apache.karaf.shell.impl.console.osgi.Activator.stop(Activator.java:88)[42:org.apache.karaf.shell.core:4.0.0.SNAPSHOT]
> at
> org.apache.felix.framework.util.SecureAction.stopActivator(SecureAction.java:667)[org.apache.felix.framework-4.4.1.jar:]
> at
> org.apache.felix.framework.Felix.stopBundle(Felix.java:2538)[org.apache.felix.framework-4.4.1.jar:]
> at
> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1317)[org.apache.felix.framework-4.4.1.jar:]
> at
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)[org.apache.felix.framework-4.4.1.jar:]
> at java.lang.Thread.run(Thread.java:745)[:1.7.0_60]
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)