-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Shell, Testing Infrastructure
-
Fully Compatible
-
ALL
-
v4.4
-
-
STM 2020-06-29, STM 2020-07-13
-
50
The MongoRunner.runningChildPids() function calls through to getRunningMongoChildProcessIds() in shell_utils_launcher.cpp, which in turn calls wait_for_pid() on all processes in ProgramRegistry::_registeredPids. A JavaScript test of the form
let cleanup; try { cleanup = startParallelShell(...); assert.soon(...); ... } finally { cleanup(); }
(for example) would end up calling wait_for_pid() multiple times. The first call to wait_for_pid() via getRunningMongoChildProcessIds() would unregister the pid from ProgramRegistry::_registeredPids and the second call would trigger this invariant.
- is caused by
-
SERVER-43153 Expose pids of spawned processes in the shell
- Closed
- related to
-
SERVER-49347 Fix locking in shell's ProgramRegistry
- Closed