mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-06 10:32:10 +00:00
The fork::tests::panic_safe unit test has been hanging intermittently in CQ runs. The root cause isn't understood yet, but the most likely explanation seems to be that the wait_process helper is hanging. There should be only two causes for that hang: either the cloned process is not exiting, or the wait() call in wait_process is not returning. The wait() should only hang if another thread has already reaped the cloned process. In order to help debug the issue, change the general wait() to a waitpid() on the specific cloned process ID. This will give us more information about what happens when the test fails - if the waitpid() returns ECHILD instead of hanging, this will indicate that something else is waiting on our child process and racing with our wait(). BUG=chromium:925725 TEST=cargo test --release -p sys_util panic_safe Change-Id: Ib25d88b35b16c75d4d8fe62fc779c9470303368a Signed-off-by: Daniel Verkamp <dverkamp@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1444317 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Zach Reizner <zachr@chromium.org> |
||
---|---|---|
.. | ||
poll_token_derive | ||
src | ||
Cargo.toml |