aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/flatrpc/flatrpc.fbs
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2024-10-21 11:53:44 +0200
committerDmitry Vyukov <dvyukov@google.com>2024-10-24 09:34:38 +0000
commit9fc8fe026baab9959459256f2d47f4bbf21d405a (patch)
tree6d97a7ac2b8e69f5fa7a92a4b3824b1ad9e571c7 /pkg/flatrpc/flatrpc.fbs
parenta85e9d5032fdf305457a6400bd3af4a8df6c45c4 (diff)
executor: better handling for hanged test processes
Currently we kill hanged processes and consider the corresponding test finished. We don't kill/wait for the actual test subprocess (we don't know its pid to kill, and waiting will presumably hang). This has 2 problems: 1. If the hanged process causes "task hung" report, we can't reproduce it, since the test finished too long ago (manager thinks its finished and discards the request). 2. The test process still consumed per-pid resources. Explicitly detect and handle such cases: Manager keeps these hanged tests forever, and we assign a new proc id for future processes (don't reuse the hanged one).
Diffstat (limited to 'pkg/flatrpc/flatrpc.fbs')
-rw-r--r--pkg/flatrpc/flatrpc.fbs3
1 files changed, 3 insertions, 0 deletions
diff --git a/pkg/flatrpc/flatrpc.fbs b/pkg/flatrpc/flatrpc.fbs
index 690286681..51066d9a4 100644
--- a/pkg/flatrpc/flatrpc.fbs
+++ b/pkg/flatrpc/flatrpc.fbs
@@ -243,6 +243,9 @@ table ExecResultRaw {
id :int64;
proc :int32;
output :[uint8];
+ // The program has hanged and we were not able to properly join it.
+ // So in some sense it's still running (e.g. can trigger a delayed kernel hang report).
+ hanged :bool;
error :string;
info :ProgInfoRaw;
}