-
Type: Bug
-
Status: Open
-
Priority: Minor
-
Resolution: Unresolved
-
Affects Version/s: 8.10
-
Fix Version/s: QualifiedToSchedule
-
Component/s: Runtime
-
Tags:
-
Sprint:nxcore 9.3.10
-
Story Points:2
During the startup phase, when the applicationStarted methods are called, we block calls to Framework.getService from separate threads until the startup phase is finished.
(This is done by OSGiRuntimeService.frameworkEvent that calls ServicePassivator.proceed(..., this::fireApplicationStarted))
However if during this phase a component triggers a post-commit event, like "group_created" which is in addition immediate, the post-commit event is treated immediately and spawns a thread which gets blocked when calling Framework.getService, but the main thread is waiting for this thread to complete, so we have a deadlock (which is broken by a timeout of 60s in tests or 300ms in real runs).
Does not apply to 9.3, where the startup sequence was reworked and the service passivator was removed (NXP-21969).