Hi Lukáš, Increasing cycle_timeout to 10s has worked out well, I haven't run into the issue again since.
- Vincent On Fri, Mar 31, 2017 at 1:04 AM, Lukáš Doktor <[email protected]> wrote: > Well the main usage of `cycle_timeout` is for periodic checking and the 1s > makes sense there. Using it also as a deadline for waiting for process > finish was probably unfortunate, but we can always improve that. Please let > me know whether 10s is enough, or whether we should make it even more > lenient. There is a step of `0.01s` so it should not block for 10s each > test, only the ones which do not finish, so longer timeouts are acceptable. > > Lukáš > > Dne 30.3.2017 v 19:07 Vincent Matossian napsal(a): > >> I'll play with that, thanks, it might be good to have cycle_timeout >> configurable in avocado config. >> >> - >> Vincent >> >> On Thu, Mar 30, 2017 at 3:35 AM, Lukáš Doktor <[email protected] >> <mailto:[email protected]>> wrote: >> >> Dne 25.3.2017 v 18:38 Vincent Matossian napsal(a): >> >> I intermittently see tests erroring out with reason >> >> "fail_reason": "Test reported status but did not finish" >> >> Unfortunately I don't have a reliable reproduction case, but was >> wondering if it was a known issue? >> >> I didn't deep dive in the code but looking at >> avocado/core/runner.py's >> run_test method, could it be that the queue ends up empty before >> the >> process is actually deemed gone? >> >> wait.wait_for(lambda: not queue.empty() or not proc.is_alive(), >> cycle_timeout, first, step) >> >> Any thoughts? >> >> Thanks >> >> Vincent >> >> >> Dear Vincent, >> >> the description says it all, the test process reported the status: >> >> avocado.core.runner:L323 >> queue.put(state) >> >> but then the process did not finish, which could be because: >> >> 1. the machine is too busy, timeout is 2s >> 2. the test spawned some threads/processes which prevent it from >> finishing >> >> Do you also get the "Killing hanged test process ..." messages in >> the main `job.log`? If not it's likely the (1), otherwise it could >> be any of those. >> >> Perhaps you could try increasing the timeout in: >> >> avocado.core.runner:L437 >> test_state = test_status.finish(proc, time_started, cycle_timeout, >> >> replace the `cycle_timeout` with a number, I'd go with 10s or so and >> let us know whether it solved your issue. We can be probably a bit >> more lenient... >> >> Lukáš >> >> >> >
