On Mon, Jul 07, 2014 at 01:58:01PM +0200, Christian Borntraeger wrote: > Now. If aio_poll never returns, we have a deadlock here. > To me it looks like, that aio_poll could be called from iothread_run, even if > there are no outstanding request. > Opinions?
Christian pointed out that iothread_run() can miss aio_notify() if a file descriptor becomes readable/writeable at the same time as the AioContext->notifier. aio_poll() will return true since progress was made and we are left with a hung QEMU. I sent Christian an initial patch to fix this but now both threads are stuck in rfifolock_lock() inside cond wait. That's very strange and should never happen. Still trying to figure out what is going on... Stefan
pgpWzsxBlMnEr.pgp
Description: PGP signature