From owner-freebsd-virtualization@freebsd.org Tue Mar 15 08:40:40 2016 Return-Path: Delivered-To: freebsd-virtualization@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A0F8FAD0CA1 for ; Tue, 15 Mar 2016 08:40:40 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id E7FAB1F6 for ; Tue, 15 Mar 2016 08:40:39 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from porto.starpoint.kiev.ua (porto-e.starpoint.kiev.ua [212.40.38.100]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id KAA03023 for ; Tue, 15 Mar 2016 10:40:38 +0200 (EET) (envelope-from avg@FreeBSD.org) Received: from localhost ([127.0.0.1]) by porto.starpoint.kiev.ua with esmtp (Exim 4.34 (FreeBSD)) id 1afkWr-000Hfo-LH for freebsd-virtualization@freebsd.org; Tue, 15 Mar 2016 10:40:37 +0200 Subject: Re: bhyve: assertion in pci_vtblk_proc To: "freebsd-virtualization@freebsd.org" References: <56E7C63C.7040709@FreeBSD.org> From: Andriy Gapon Message-ID: <56E7CA34.9040605@FreeBSD.org> Date: Tue, 15 Mar 2016 10:39:16 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <56E7C63C.7040709@FreeBSD.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Mar 2016 08:40:40 -0000 On 15/03/2016 10:22, Andriy Gapon wrote: > > While running some fs-related workloads in a Gentoo guest bhyve crashed with the > following assertion: > > Assertion failed: (n >= 2 && n <= BLOCKIF_IOV_MAX + 2), function pci_vtblk_proc, > file /usr/src/usr.sbin/bhyve/pci_virtio_block.c I should add that I can easily reproduce this crash using the same workload. > (gdb) bt > #0 thr_kill () at thr_kill.S:3 > #1 0x0000000800f57ddb in __raise (s=6) at /usr/src/lib/libc/gen/raise.c:52 > #2 0x0000000800f57d49 in abort () at /usr/src/lib/libc/stdlib/abort.c:65 > #3 0x0000000800fc3391 in __assert (func=0x434719 "pci_vtblk_proc", > file=0xfffff80038ed84f0 0xfffff80038ed84f0>, line=47586, failedexpr=) at > /usr/src/lib/libc/gen/assert.c:51 > #4 0x000000000042237b in pci_vtblk_proc (sc=0x80193ae40, vq=0x80193ae80) at > /usr/src/usr.sbin/bhyve/pci_virtio_block.c:217 > #5 0x00000000004221b7 in pci_vtblk_notify (vsc=0x80193ae40, vq=0x80193ae80) at > /usr/src/usr.sbin/bhyve/pci_virtio_block.c:286 > #6 0x000000000042b560 in vi_pci_write (ctx=0x8018181c0, vcpu=0, pi=0x801838a00, > baridx=0, offset=16, size=2, value=0) at /usr/src/usr.sbin/bhyve/virtio.c:747 > #7 0x000000000041c5e9 in pci_emul_io_handler (ctx=0x8018181c0, vcpu=0, in=0, > port=8400, bytes=2, eax=0x7fffd8dc4e4c, arg=0x801838a00) at > /usr/src/usr.sbin/bhyve/pci_emul.c:370 > #8 0x000000000040e663 in emulate_inout (ctx=0x8018181c0, vcpu=0, > vmexit=0x63d930 , strict=0) at /usr/src/usr.sbin/bhyve/inout.c:224 > #9 0x00000000004098b7 in vmexit_inout (ctx=0x8018181c0, vme=0x63d930 , > pvcpu=0x7fffd8dc4f44) at /usr/src/usr.sbin/bhyve/bhyverun.c:330 > #10 0x000000000040974d in vm_loop (ctx=0x8018181c0, vcpu=0, startrip=16777216) > at /usr/src/usr.sbin/bhyve/bhyverun.c:632 > #11 0x0000000000408601 in fbsdrun_start_thread (param=0x8407d0 ) at > /usr/src/usr.sbin/bhyve/bhyverun.c:243 > #12 0x0000000800c79884 in thread_start (curthread=0x8019ffc00) at > /usr/src/lib/libthr/thread/thr_create.c:288 > > Please let me know if you would like more details. > -- Andriy Gapon