On Mon, 19 Dec 2022 at 23:55, Fabiano Rosas <[email protected]> wrote: > With today's master at c15dc499cc (Merge tag 'pull-misc-20221218' > of https://gitlab.com/rth7680/qemu into staging, 2022-12-19), > > I get a test failure: > > $ make check-avocado > AVOCADO_TESTS=../tests/avocado/reverse_debugging.py:ReverseDebugging_X86_64.test_x86_64_pc > ... > Output: qemu-system-x86_64: ../block/block-backend.c:2572: > blk_root_drained_poll: Assertion `blk->quiesce_counter' failed. > > Bisect points to this patch > da0bd74434 (block: Factor out bdrv_drain_all_begin_nopoll(), 2022-12-07)
Yep, that does seem to be the commit that introduces the regression. The problem is that the refactoring has broken the early-return if replay_events_enabled() is true -- before the refactor that 'return' used to return direcly from bdrv_drain_all_begin(); now it only returns from bdrv_drain_all_begin_nopoll() and doesn't cause the calling bdrv_drain_all_begin() to return early, so execution continues into the following code when it should not. -- PMM
