-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Internal Code
-
None
-
Fully Compatible
-
ALL
-
v4.4, v4.2, v4.0
-
Service Arch 2020-07-27
-
0
The shutdown procedure of ServiceExecutorSynchronous uses two variables to communicate with executor threads: a condition variable and an atomic word.
It is possible for the last executor thread to access the condition variable after it's destroyed, which could result in a read-after-delete failure. To prevent such failures, we should extend the lifetime of all resources (e.g., the condition variable) shared between the ServiceExecutor and the executor threads.