qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [5187] Use signalfd() to work around signal/select race


From: Anthony Liguori
Subject: Re: [Qemu-devel] [5187] Use signalfd() to work around signal/select race
Date: Thu, 11 Sep 2008 11:28:37 -0500
User-agent: Thunderbird 2.0.0.16 (X11/20080723)

Laurent Vivier wrote:
Le mercredi 10 septembre 2008 à 15:45 +0000, Anthony Liguori a écrit :
Revision: 5187
          http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=5187
Author:   aliguori
Date:     2008-09-10 15:45:19 +0000 (Wed, 10 Sep 2008)

Log Message:
-----------
Use signalfd() to work around signal/select race

This commit breaks qemu-nbd:

# ./qemu-nbd --port 1024 --persistent ../disk.qcow2 generates "Bus error" when I connect the client:
# ./x86_64-softmmu/qemu-system-x86_64 -hda ../etch64.qcow2 -hdb
nbd:localhost:1024

* gdb output:

Program received signal SIGBUS, Bus error.
[Switching to Thread 0x7f3accdf76e0 (LWP 13146)]
qemu_aio_wait () at block-raw-posix.c:541
541             FD_SET(aio_sig_fd, &rdfds);
(gdb) bt
#0  qemu_aio_wait () at block-raw-posix.c:541
#1  0x0000000000406245 in bdrv_read_em (bs=0x0,
sector_num=140736764918416, buf=0x8000000000000000 <Address 0x8000000000000000 out of bounds>, nb_sectors=0) at block.c:1289
#2  0x000000000040437a in nbd_trip (bs=0x622010, csock=8,
size=6442450944, dev_offset=0, offset=0x7fffd4e13c78, readonly=false, data=0x7f3acccd5200 "�H\220м", data_size=1048576) at nbd.c:573
#3  0x0000000000402d11 in main (argc=1, argv=0x1) at qemu-nbd.c:444

That's because qemu-nbd isn't doing an qemu_aio_init(). There still appears to be an issue though because qemu_aio_wait() doesn't ever returning. I'm looking into it right now.

Regards,

Anthony Liguori

Laurent





reply via email to

[Prev in Thread] Current Thread [Next in Thread]