Hi, >> qemu is hung at: >> main thread: >> #0 read > > Is qxl doing a blocking read? If so, that's a bug in qxl.
It used to do that, with the latest spice pull it is gone[1]. And this fix is exactly what broke screendump. Spice does lazy rendering on the server side to avoid burning cpu for nothing, because in the common case there is nothing to render. Thats why there is no up-to-date displaysurface we can just write out when the screendump command comes in. What qxl screendump used to do is this: (1) ask spice server to render the screen (2) blocking read, waiting for spice spice server finish <- BUG (3) write out screendump What qxl screendump does now is: (1) ask spice server to render the screen (2) write out screendump from outdated displaysurface <- BUG (3) spice server finished, callback comes in, arm BH (4) bottom half handler updates displaysurface What we like to do instead is this: (1) ask spice server to render the screen (2) spice server finished, callback comes in, arm BH (3) bottom half handler updates displaysurface and writes the screendump (4) signal screendump monitor command is finished. See our problem now? cheers, Gerd [1] With the exception of guest with old qxl drivers which is pretty much unfixable due to way the old guest <-> qxl interface is designed.