Stefan Seifert created SLING-5143:
-------------------------------------
Summary: osgi-mock: MockBundleContext is not thread-safe when
using iterators
Key: SLING-5143
URL: https://issues.apache.org/jira/browse/SLING-5143
Project: Sling
Issue Type: Bug
Components: Testing
Affects Versions: Testing OSGi Mock 1.6.0
Reporter: Stefan Seifert
Assignee: Stefan Seifert
Priority: Minor
Fix For: Testing OSGi Mock 1.6.2
SLING-4845 introduced synchronized wrappers for the sets, maps and a list used
internally by MockBundleContext to make it thread-safe.
this does not cover all cases e.g. when iterating over the set oder map,
sometimes errors like this still occur:
{noformat}
[Apache Sling JCR Resource Event Queue Processor for path '/'] WARN
org.apache.sling.jcr.resource.internal.JcrResourceListener -
processOsgiEventQueue: Unexpected problem processing event
{event.topics=org/apache/sling/api/resource/Resource/ADDED, userid=admin,
resourceAddedAttributes=[Ljava.lang.String;@68fbe319, path=/content}
java.util.ConcurrentModificationException
at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1207)
at java.util.TreeMap$KeyIterator.next(TreeMap.java:1261)
at
org.apache.sling.testing.mock.osgi.MockBundleContext.getServiceReferences(MockBundleContext.java:188)
at
org.apache.sling.testing.mock.osgi.MockBundleContext.getServiceReference(MockBundleContext.java:169)
at
org.apache.sling.jcr.resource.internal.JcrResourceListener.getResourceResolver(JcrResourceListener.java:353)
at
org.apache.sling.jcr.resource.internal.JcrResourceListener.processOsgiEventQueue(JcrResourceListener.java:392)
at
org.apache.sling.jcr.resource.internal.JcrResourceListener$1.run(JcrResourceListener.java:131)
at java.lang.Thread.run(Thread.java:745)
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)