From: Cornelia Huck <cohuck@redhat.com>
To: Kevin Wolf <kwolf@redhat.com>, Max Reitz <mreitz@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>
Cc: qemu-block@nongnu.org, qemu-devel@nongnu.org,
Eric Blake <eblake@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>
Subject: [Qemu-devel] qemu-nbd vs 'simple' trace backend vs iotest 147
Date: Mon, 9 Jul 2018 15:45:49 +0200 [thread overview]
Message-ID: <20180709154549.7df475b9.cohuck@redhat.com> (raw)
Hi,
I recently noticed that iotest 147 was hanging on my laptop, but worked
fine on my s390x LPAR. Turned out that the architecture was a red
herring; on both platforms, things fail with the 'simple' trace backend
and work with e.g. the 'log' trace backend. Some details on the
failures with the 'simple' backend:
- The first run of 147 passes. However, there are two processes hanging
around, one using a unix socket and one using an inet socket:
cohuck 22912 0.0 0.0 156580 3836 ? Ss 14:32 0:00 /home/cohuck/git/qemu/build/tests/qemu-iotests/../../qemu-nbd --fork -f qcow2 /home/cohuck/git/qemu/build/tests/qemu-iotests/scratch/test.img -p 10811
cohuck 22925 0.0 0.0 156580 3840 ? Ss 14:32 0:00 /home/cohuck/git/qemu/build/tests/qemu-iotests/../../qemu-nbd --fork -f qcow2 /home/cohuck/git/qemu/build/tests/qemu-iotests/scratch/test.img -k /home/cohuck/git/qemu/build/tests/qemu-iotests/scratch/nbd.socket
Attaching a gdb shows that we seem to be waiting on flushing:
(gdb) bt
#0 0x00007f461c078b99 in syscall () from /lib64/libc.so.6
#1 0x00007f461d13650f in g_cond_wait () from /lib64/libglib-2.0.so.0
#2 0x0000560cf3a1caf2 in flush_trace_file (wait=255)
at /home/cohuck/git/qemu/trace/simple.c:139
#3 st_flush_trace_buffer () at /home/cohuck/git/qemu/trace/simple.c:374
#4 0x00007f461bfc01d8 in __run_exit_handlers () from /lib64/libc.so.6
#5 0x00007f461bfc022a in exit () from /lib64/libc.so.6
#6 0x0000560cf392eb7e in main (argc=<optimized out>, argv=<optimized out>)
at /home/cohuck/git/qemu/qemu-nbd.c:1076
(for both processes)
- When I'm running 147 again, the test using the inet socket is unhappy
as the port is already in use:
test_inet (__main__.QemuNBD) ... DEBUG:QMP:>>> {'execute': 'qmp_capabilities'}
DEBUG:QMP:<<< {u'return': {}}
Failed to find an available port: Address already in use
...but then it sits there, with ps showing a zombie qemu-nbd process,
until I Ctrl-C out of it. There's now a new qemu-nbd process (command
line identical to the first process above), and it's hanging with the
same backtrace (so same root problem, presumably). I would have
expected 147 to either fail or continue, though, instead of hanging
around.
Running under Fedora 27, current QEMU master.
next reply other threads:[~2018-07-09 13:46 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-09 13:45 Cornelia Huck [this message]
2018-07-11 13:06 ` [Qemu-devel] qemu-nbd vs 'simple' trace backend vs iotest 147 Stefan Hajnoczi
2018-07-11 13:15 ` Cornelia Huck
2018-07-11 13:33 ` Cornelia Huck
2018-07-12 16:30 ` Stefan Hajnoczi
2018-07-13 6:40 ` Paolo Bonzini
2018-07-13 13:53 ` Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180709154549.7df475b9.cohuck@redhat.com \
--to=cohuck@redhat.com \
--cc=eblake@redhat.com \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).