-
Type:
Bug
-
Status: Resolved
-
Resolution: Fixed
-
Affects Version/s: Master
-
Fix Version/s: 7.1.10 DXP FP1, 7.1.1 CE GA2, 7.1.10.1 SP1
-
Component/s: Core Infrastructure
-
Fix Priority:3
-
Git Pull Request:
OSGi ServiceReferences are mutable structures and ServiceTrackerMap is storing them in ordered data structures such as TreeSet. If the ServiceReference is later mutated while is it being held in such a structure it can happen that it can't be found anymore, since the search path inside the data structure depends on the relative order of the instance with the other already stored instances.
As a result you might end up seeing the same ServiceReference more than once stored in the same bucket, and also some of those ServiceReference can't ever be removed.