Files
lix/subprojects
Maximilian Bosch 4c5efd4548 nix-eval-jobs: reenable tests, rework waitpid handling
Closes #703

The problem boils down to:

* A testcase with a segfaulting worker due to a stack overflow from the
  evaluation.

* When the controller encounters that the pipes are down, the worker's
  state is checked and a potential infrec is reported if it stopped with
  SIGSEGV.

* However, in a few cases, the worker didn't exit yet, but only had closed
  pipes (which is how the error is detected). In that case, a different
  error message is printed breaking the test.

This bug handling only affects error cases, so this race doesn't happen
on normal shutdown. To mitigate the problem a bit, the controller will
wait for a second and re-check the state of the worker process then.

While this should make the error reporting for end-users a little more
reliable, it's still no guarantee for a non-racy test. Hence, the test
asserts against both cases now and it passes if either the infrec error
or the "worker still running, but pipes are closed" error is returned.

Change-Id: Ifdc7a05bc86b6aecd5d03118d3e3ffc9affe1c5e
2025-03-14 19:50:07 +01:00
..
2024-05-30 00:40:25 -06:00
2024-08-20 17:21:13 +00:00
2024-08-20 17:21:13 +00:00
2024-08-20 17:21:13 +00:00
2024-08-26 11:34:43 -07:00
2024-08-26 11:34:43 -07:00
2024-08-20 17:21:13 +00:00
2024-08-20 17:21:13 +00:00
2024-08-20 17:21:13 +00:00
2024-08-20 17:21:13 +00:00
2024-08-26 11:34:43 -07:00
2024-08-20 17:21:13 +00:00
2024-08-20 17:21:13 +00:00