Am 25.02.2025 um 08:20 hat Thomas Huth geschrieben: > > Hi! > > I'm facing a weird hang in iotest 233 on my Fedora 41 laptop. When running > > ./check -raw 233 > > the test simply hangs. Looking at the log, the last message is "== check > plain client to TLS server fails ==". I added some debug messages, and it > seems like the previous NBD server is not correctly terminated here. > The test works fine again if I apply this patch: > > diff --git a/tests/qemu-iotests/common.nbd b/tests/qemu-iotests/common.nbd > --- a/tests/qemu-iotests/common.nbd > +++ b/tests/qemu-iotests/common.nbd > @@ -35,7 +35,7 @@ nbd_server_stop() > read NBD_PID < "$nbd_pid_file" > rm -f "$nbd_pid_file" > if [ -n "$NBD_PID" ]; then > - kill "$NBD_PID" > + kill -9 "$NBD_PID" > fi > fi > rm -f "$nbd_unix_socket" "$nbd_stderr_fifo" > > ... but that does not look like the right solution to me. What could prevent > the qemu-nbd from correctly shutting down when it receives a normal SIGTERM > signal?
Not sure. In theory, qemu_system_killed() should set state = TERMINATE and make main_loop_wait() return through the notification, which should then make it shut down. Maybe you can attach gdb and check what 'state' is when it hangs and if it's still in the main loop? I can't reproduce the problem, though I'm on F40. I tried it both on my working branch and with current git master (b69801dd). Kevin