From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:38081) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TWqE8-0007dF-GQ for qemu-devel@nongnu.org; Fri, 09 Nov 2012 10:10:38 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TWqE4-0002QU-6y for qemu-devel@nongnu.org; Fri, 09 Nov 2012 10:10:36 -0500 Received: from hub021-nj-7.exch021.serverdata.net ([206.225.164.223]:18671) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TWqE4-0002QI-2K for qemu-devel@nongnu.org; Fri, 09 Nov 2012 10:10:32 -0500 Message-ID: <509D1CE5.1080509@CloudSwitch.Com> Date: Fri, 9 Nov 2012 10:10:29 -0500 From: Don Slutz MIME-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] BUG: virtio-scsi-pci device causes SIGABRT on master 2592c59 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "qemu-devel@nongnu.org" Cc: Avi Kivity Commit d22b096ef6e0b20810193b68a1d472f3fb8a4f9e is what I bisected to. Using: gdb --args ./x86_64-softmmu/qemu-system-x86_64 -machine pc,accel=kvm -name "test1" -serial pty -chardev stdio,id=seabio\ s -device isa-debugcon,iobase=0x402,chardev=seabios -m 1024 -monitor pty -monitor vc -device virtio-scsi-pci,id=scsi0 -\ drive if=none,id=disk0,file=/home/don/qemu-img/test1.raw -device scsi-disk,bus=scsi0.0,scsi-id=0,drive=disk0 -cdrom /ho\ me/don/isos/centos/x86_64/CentOS-6.3-x86_64-minimal.iso dcs-xen-50:~/qemu>git-bisect good Bisecting: 0 revisions left to test after this (roughly 1 step) [12b40e471f33e552fa3d962887b416cf67831446] xen_pt: use separate MemoryListeners for memory and I/O dcs-xen-50:~/qemu>git-bisect bad Bisecting: 0 revisions left to test after this (roughly 0 steps) [d22b096ef6e0b20810193b68a1d472f3fb8a4f9e] kvm: use separate MemoryListeners for memory and I/O dcs-xen-50:~/qemu>git-bisect bad d22b096ef6e0b20810193b68a1d472f3fb8a4f9e is the first bad commit commit d22b096ef6e0b20810193b68a1d472f3fb8a4f9e Author: Avi Kivity Date: Sun Sep 30 22:21:11 2012 +0200 kvm: use separate MemoryListeners for memory and I/O The construct if (address_space == get_system_memory()) { // memory thing } else { // io thing } fails if we have more than two address spaces. Use a separate listener for memory and I/O, and utilize MemoryListener's address space filtering to fix this. Signed-off-by: Avi Kivity :100644 100644 92a71374ed1e040cef5ad70a6cb00adabf671dd4 c69e01200461c7a87440f7a915bd171a9fc8f318 M kvm-all.c Searching bootorder for: /pci@i0cf8/*@4/*@0/*@255,0 Program received signal SIGABRT, Aborted. [Switching to Thread 0x7fffef7d6700 (LWP 14635)] 0x00007ffff4c24925 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 64 return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig); Missing separate debuginfos, use: debuginfo-install libxcb-1.8.1-1.fc17.x86_64 (gdb) bt #0 0x00007ffff4c24925 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 #1 0x00007ffff4c260d8 in __GI_abort () at abort.c:91 #2 0x0000555555862da1 in kvm_mem_ioeventfd_add (listener=0x555555cd97c0, section=0x7fffef7d57f0, match_data=true, data=0, e=0x55555660e8bc) at /home/don/qemu/kvm-all.c:775 #3 0x00005555558690f1 in address_space_add_del_ioeventfds (as=0x55555650bf60, fds_new=0x7fffe8000bf0, fds_new_nb=1, fds_old=0x0, fds_old_nb=0) at /home/don/qemu/memory.c:616 #4 0x000055555586944d in address_space_update_ioeventfds (as=0x55555650bf60) at /home/don/qemu/memory.c:649 #5 0x0000555555869fa3 in address_space_update_topology (as=0x55555650bf60) at /home/don/qemu/memory.c:730 #6 0x000055555586a0b7 in memory_region_transaction_commit () at /home/don/qemu/memory.c:750 #7 0x000055555586bc35 in memory_region_add_eventfd (mr=0x55555660d0d8, addr= 16, size=2, match_data=true, data=0, e=0x55555660e8bc) at /home/don/qemu/memory.c:1231 #8 0x0000555555736adf in virtio_pci_set_host_notifier_internal (proxy= 0x55555660cb40, n=0, assign=true, set_handler=true) at /home/don/qemu/hw/virtio-pci.c:178 #9 0x0000555555736be1 in virtio_pci_start_ioeventfd (proxy=0x55555660cb40) at /home/don/qemu/hw/virtio-pci.c:204 ---Type to continue, or q to quit--- #10 0x0000555555736f89 in virtio_ioport_write (opaque=0x55555660cb40, addr=18, val=7) at /home/don/qemu/hw/virtio-pci.c:295 #11 0x00005555557374b3 in virtio_pci_config_writeb (opaque=0x55555660cb40, addr=18, val=7) at /home/don/qemu/hw/virtio-pci.c:427 #12 0x0000555555868054 in memory_region_iorange_write (iorange=0x7fffe8000b20, offset=18, width=1, data=7) at /home/don/qemu/memory.c:431 #13 0x00005555558607cc in ioport_writeb_thunk (opaque=0x7fffe8000b20, addr= 49234, data=7) at /home/don/qemu/ioport.c:212 #14 0x00005555558601a6 in ioport_write (index=0, address=49234, data=7) at /home/don/qemu/ioport.c:83 #15 0x0000555555860d46 in cpu_outb (addr=49234, val=7 '\a') at /home/don/qemu/ioport.c:289 #16 0x00005555558646b4 in kvm_handle_io (port=49234, data=0x7ffff7ff3000, direction=1, size=1, count=1) at /home/don/qemu/kvm-all.c:1451 #17 0x0000555555864c9b in kvm_cpu_exec (env=0x55555658d4e0) at /home/don/qemu/kvm-all.c:1597 #18 0x00005555557f1c31 in qemu_kvm_cpu_thread_fn (arg=0x55555658d4e0) at /home/don/qemu/cpus.c:753 #19 0x00007ffff604fd14 in start_thread (arg=0x7fffef7d6700) at pthread_create.c:309 #20 0x00007ffff4ce067d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115 (gdb) -Don Slutz