[Avocado-devel] "Test reported status but did not finish",

Vincent Matossian vastinnocentaims at gmail.com
Thu Apr 13 04:35:18 UTC 2017


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 <ldoktor at redhat.com> 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 <ldoktor at redhat.com
>> <mailto:ldoktor at redhat.com>> 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áš
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/avocado-devel/attachments/20170412/05f0cb00/attachment.htm>


More information about the Avocado-devel mailing list