Hello Vincent, I'm glad to hear that, you can find a card about this here: https://trello.com/c/l8RBKZaM/999-increase-the-test-finish-timeout feel free to pick it and send a PR, otherwise we'll prioritize it during next release/planing meeting.

Regards,
Lukáš

Dne 13.4.2017 v 06:35 Vincent Matossian napsal(a):
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]
<mailto:[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]>
        <mailto:[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áš





Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to