On Fri, May 18, 2018 at 04:08:47PM +0100, Alex Bennée wrote: > > Stefan Hajnoczi <stefa...@redhat.com> writes: > > > On Fri, May 18, 2018 at 10:14:40AM +0100, Alex Bennée wrote: > >> The following tests keep showing up in failed Travis runs: > >> > >> - test-aio > > > > What is the issue? > > GTESTER tests/test-thread-pool > ** > ERROR:tests/test-aio.c:501:test_timer_schedule: assertion failed: > (aio_poll(ctx, true)) > GTester: last random seed: R02S66126aca97f9606b33e5d7be7fc9b625 > make: *** [check-tests/test-aio] Error 1 > make: *** Waiting for unfinished jobs....
The test_timer_schedule test case relies on timing and is non-deterministic. I couldn't figure out how it managed to fail that specific assertion. aio_poll(ctx, true) == false happens when aio_notify() was called but I don't understand why it happened here. However, I do see that this test case will fail if the machine is very heavily loaded. The test simply won't reach the places where it should wait for the timer. The timer may expire too early. Maybe a steppable clock should be used (vmclock), but then the test would have to be simplified because the aio_poll(ctx, true) part relies on ppoll(2)'s timeout. Any thoughts, Paolo? Stefan
signature.asc
Description: PGP signature