[jira] [Commented] (SLING-7371) ResourceProviderTracker.updateProviderContext can cause ConcurrentModificationException
[ https://issues.apache.org/jira/browse/SLING-7371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16320621#comment-16320621 ] ASF GitHub Bot commented on SLING-7371: --- karlpauls closed pull request #2: SLING-7371: synchronize access to the handlers inside ResourceProvide… URL: https://github.com/apache/sling-org-apache-sling-resourceresolver/pull/2 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > ResourceProviderTracker.updateProviderContext can cause > ConcurrentModificationException > --- > > Key: SLING-7371 > URL: https://issues.apache.org/jira/browse/SLING-7371 > Project: Sling > Issue Type: Bug > Components: ResourceResolver >Affects Versions: Resource Resolver 1.5.32 >Reporter: Karl Pauls >Assignee: Karl Pauls > Fix For: Resource Resolver 1.5.34 > > > The updateProviderContext method accesses the "handler" member outside of a > "synchronized (this.handler)" block which can lead to a > ConcurrentModificationException similar to: > {noformat} > java.util.ConcurrentModificationException: null > at java.util.HashMap$HashIterator.nextNode(HashMap.java:1442) > at java.util.HashMap$KeyIterator.next(HashMap.java:1466) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.updateProviderContext(ResourceProviderTracker.java:484) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.activate(ResourceProviderTracker.java:352) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.register(ResourceProviderTracker.java:190) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.access$200(ResourceProviderTracker.java:59) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker$1.addingService(ResourceProviderTracker.java:130) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker$1.addingService(ResourceProviderTracker.java:106) > at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) > at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) > at > org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) > at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) > at > org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901) > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (SLING-7371) ResourceProviderTracker.updateProviderContext can cause ConcurrentModificationException
[ https://issues.apache.org/jira/browse/SLING-7371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16319893#comment-16319893 ] Karl Pauls commented on SLING-7371: --- [~cziegeler], I did see that but it is synchronizing on the same member - hence, it shouldn't do any harm and it seemed saver to synchronize inside the method to avoid making the same mistake (calling it without the lock) at a later point. But I don't fell strongly about it either way - I'll commit it synchronizing the call in activate. Thanks! > ResourceProviderTracker.updateProviderContext can cause > ConcurrentModificationException > --- > > Key: SLING-7371 > URL: https://issues.apache.org/jira/browse/SLING-7371 > Project: Sling > Issue Type: Bug > Components: ResourceResolver >Affects Versions: Resource Resolver 1.5.32 >Reporter: Karl Pauls >Assignee: Karl Pauls > Fix For: Resource Resolver 1.5.34 > > > The updateProviderContext method accesses the "handler" member outside of a > "synchronized (this.handler)" block which can lead to a > ConcurrentModificationException similar to: > {noformat} > java.util.ConcurrentModificationException: null > at java.util.HashMap$HashIterator.nextNode(HashMap.java:1442) > at java.util.HashMap$KeyIterator.next(HashMap.java:1466) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.updateProviderContext(ResourceProviderTracker.java:484) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.activate(ResourceProviderTracker.java:352) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.register(ResourceProviderTracker.java:190) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.access$200(ResourceProviderTracker.java:59) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker$1.addingService(ResourceProviderTracker.java:130) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker$1.addingService(ResourceProviderTracker.java:106) > at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) > at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) > at > org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) > at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) > at > org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901) > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (SLING-7371) ResourceProviderTracker.updateProviderContext can cause ConcurrentModificationException
[ https://issues.apache.org/jira/browse/SLING-7371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16319877#comment-16319877 ] Carsten Ziegeler commented on SLING-7371: - [~pauls] No :) updateProviderContext is called from two places, one of them is already using a synchronized block, the other - activate is not. The fix is to put the sync around the call to updateProviderContext in activate. > ResourceProviderTracker.updateProviderContext can cause > ConcurrentModificationException > --- > > Key: SLING-7371 > URL: https://issues.apache.org/jira/browse/SLING-7371 > Project: Sling > Issue Type: Bug > Components: ResourceResolver >Affects Versions: Resource Resolver 1.5.32 >Reporter: Karl Pauls >Assignee: Karl Pauls > Fix For: Resource Resolver 1.5.34 > > > The updateProviderContext method accesses the "handler" member outside of a > "synchronized (this.handler)" block which can lead to a > ConcurrentModificationException similar to: > {noformat} > java.util.ConcurrentModificationException: null > at java.util.HashMap$HashIterator.nextNode(HashMap.java:1442) > at java.util.HashMap$KeyIterator.next(HashMap.java:1466) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.updateProviderContext(ResourceProviderTracker.java:484) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.activate(ResourceProviderTracker.java:352) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.register(ResourceProviderTracker.java:190) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.access$200(ResourceProviderTracker.java:59) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker$1.addingService(ResourceProviderTracker.java:130) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker$1.addingService(ResourceProviderTracker.java:106) > at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) > at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) > at > org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) > at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) > at > org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901) > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (SLING-7371) ResourceProviderTracker.updateProviderContext can cause ConcurrentModificationException
[ https://issues.apache.org/jira/browse/SLING-7371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16319255#comment-16319255 ] Karl Pauls commented on SLING-7371: --- [~cziegeler], does this look ok? > ResourceProviderTracker.updateProviderContext can cause > ConcurrentModificationException > --- > > Key: SLING-7371 > URL: https://issues.apache.org/jira/browse/SLING-7371 > Project: Sling > Issue Type: Bug > Components: ResourceResolver >Affects Versions: Resource Resolver 1.5.32 >Reporter: Karl Pauls >Assignee: Karl Pauls > Fix For: Resource Resolver 1.5.34 > > > The updateProviderContext method accesses the "handler" member outside of a > "synchronized (this.handler)" block which can lead to a > ConcurrentModificationException similar to: > {noformat} > java.util.ConcurrentModificationException: null > at java.util.HashMap$HashIterator.nextNode(HashMap.java:1442) > at java.util.HashMap$KeyIterator.next(HashMap.java:1466) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.updateProviderContext(ResourceProviderTracker.java:484) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.activate(ResourceProviderTracker.java:352) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.register(ResourceProviderTracker.java:190) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.access$200(ResourceProviderTracker.java:59) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker$1.addingService(ResourceProviderTracker.java:130) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker$1.addingService(ResourceProviderTracker.java:106) > at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) > at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) > at > org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) > at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) > at > org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901) > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (SLING-7371) ResourceProviderTracker.updateProviderContext can cause ConcurrentModificationException
[ https://issues.apache.org/jira/browse/SLING-7371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16319254#comment-16319254 ] ASF GitHub Bot commented on SLING-7371: --- karlpauls opened a new pull request #2: SLING-7371: synchronize access to the handlers inside ResourceProvide… URL: https://github.com/apache/sling-org-apache-sling-resourceresolver/pull/2 …rTracker to avoid a ConcurrentModificationException. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > ResourceProviderTracker.updateProviderContext can cause > ConcurrentModificationException > --- > > Key: SLING-7371 > URL: https://issues.apache.org/jira/browse/SLING-7371 > Project: Sling > Issue Type: Bug > Components: ResourceResolver >Affects Versions: Resource Resolver 1.5.32 >Reporter: Karl Pauls >Assignee: Karl Pauls > Fix For: Resource Resolver 1.5.34 > > > The updateProviderContext method accesses the "handler" member outside of a > "synchronized (this.handler)" block which can lead to a > ConcurrentModificationException similar to: > {noformat} > java.util.ConcurrentModificationException: null > at java.util.HashMap$HashIterator.nextNode(HashMap.java:1442) > at java.util.HashMap$KeyIterator.next(HashMap.java:1466) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.updateProviderContext(ResourceProviderTracker.java:484) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.activate(ResourceProviderTracker.java:352) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.register(ResourceProviderTracker.java:190) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.access$200(ResourceProviderTracker.java:59) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker$1.addingService(ResourceProviderTracker.java:130) > at > org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker$1.addingService(ResourceProviderTracker.java:106) > at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) > at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) > at > org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) > at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) > at > org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901) > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)