Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Duplicate
-
scr-2.1.6
-
None
-
None
Description
If the call to obtainStateLock SingleComponentManager.getService doesn't succeed, an IllegalStateException will be thrown which will result in ComponentRegistry.leaveCreate() not being called. That leaves circularInfos in ComponentRegistry in an invalid state which will result in the error "Circular reference detected trying to get service".
We typically see this when a component has a long running activator running in one thread and another thread tries to get a service from a reference and ends up eventually timing out in SingleComponentManager.getService because the other thread holds the lock.
Attachments
Issue Links
- duplicates
-
FELIX-4260 IllegalStateException: The service has been unregistered
- Resolved