On 20.04.2016 20:09, Max Reitz wrote: > On 20.04.2016 02:03, Matthew Schumacher wrote: >> Max, >> >> Qemu still crashes for me, but the debug is again very different. When >> I attach to the qemu process from gdb, it is unable to provide a >> backtrace when it crashes. The log file is different too. Any ideas? >> >> qemu-system-x86_64: block.c:2307: bdrv_replace_in_backing_chain: >> Assertion `!bdrv_requests_pending(old)' failed. > > This message is exactly the same as you saw in 2.5.1, so I guess we've > at least averted a regression in 2.6.0.
I get the same message in 2.5.0, in 2.4.0 it's "Co-routine re-entered recursively". 2.3.0 works fine. Bisecting the regression between 2.3.0 and 2.4.0 interestingly yields 48ac0a4df84662f as the problematic commit, but I can't imagine that this is the root issue. The effective change it brings is that for active commits, the buf_size is no longer the same as the granularity, but the default mirror buf_size instead. When forcing buf_size to the granularity, the issue first appears with commit 3f09bfbc7bee812 (after 2.4.0, before 2.5.0), which is much less surprising, because this is the one that introduced the assertion in the first place. However, I still don't think the assertion is the problem but the fact that the guest device can still send requests after bdrv_drained_begin(). Max
signature.asc
Description: OpenPGP digital signature