Does the max run time setting work?
Run 3747df67-2c08-48c1-94fc-ef2805b94c4b has now been running for over an hour and is not killed yet.
Run 3747df67-2c08-48c1-94fc-ef2805b94c4b has now been running for over an hour and is not killed yet.
Manual testing tells me it doens’t work.
Analysis:
cibcreates aTimeoutCommandand uses that to spawn aChildProcessRealtimeLinesChildProcess::waitThe timeout is only checkeed in
ChildProcess::wait, not inRealtimeLines. This means that if the child doesn’t close its stdout, the waiting never starts happening. This means themax_run_timesetting is effectively ignored.I note that all working adapters, which are what
cibspawns, only close their stdout after terminating.Possible fixes:
RealtimeLinesto honor the dealine formax_run_timetimeoutcmdmodule API so that the calling thread doesn’t read stdout in a blocking way and is fed lines from the child’s stdout via a channel or somethingFixed-in: ac9261bb8e669cee9562e29da44a7e0308dcc490
Not actually fixed. Needs further debugging.
RealtimeLines::linedoes not react to timeout unless child process produces output.Fixed-in: 27317200c10b027f6f32d9853976d974e52fd224
The adapter and all it’s child-processes are now reliably killed, again. There’s a problem with how the result is presented, which I’ll open as a separate issue.