From owner-freebsd-virtualization@FreeBSD.ORG Sun Jul 7 09:30:52 2013 Return-Path: Delivered-To: freebsd-virtualization@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id CE8A71A9; Sun, 7 Jul 2013 09:30:52 +0000 (UTC) (envelope-from crodr001@gmail.com) Received: from mail-lb0-x231.google.com (mail-lb0-x231.google.com [IPv6:2a00:1450:4010:c04::231]) by mx1.freebsd.org (Postfix) with ESMTP id D2B931C5F; Sun, 7 Jul 2013 09:30:51 +0000 (UTC) Received: by mail-lb0-f177.google.com with SMTP id 10so2934876lbf.22 for ; Sun, 07 Jul 2013 02:30:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:date:x-google-sender-auth:message-id:subject :from:to:cc:content-type; bh=KxplIB7SZLA37MM3TQbBoXpe7bxypJwSFJJGzPTXxk4=; b=Ho8m8rq6gh0z1873LKWDcS//fABFuLaqo/34AvnUjjgRnSDGm2GlPgNTHF8UGvvuXx DGF5p2PGdR2jyolvVq766v1qtvQrIgye7wLuKYMyebYXK/k7plpAbJAkK0BbAOZeZQai wOUBbhYp7UPlgUA/gtq8WB1SHecaUH60PxCL+FgGT/hSxfHHz4gWVWyj+iNEP8o0CSmk wM99RncksYv/QaQ+DS4rAPkcv0RFd90GNGWfnKX7pOpgHKGC4uyn8w5kCNUJ2LVZxlK1 Yb5QC2Zog+Fj+8cXkT5fDKABezDkWf3JbhGao8JTXB3yTph0HAFAgaRtCtF3Ueh36JVr gEZg== MIME-Version: 1.0 X-Received: by 10.152.19.194 with SMTP id h2mr8338613lae.26.1373189450695; Sun, 07 Jul 2013 02:30:50 -0700 (PDT) Sender: crodr001@gmail.com Received: by 10.112.149.38 with HTTP; Sun, 7 Jul 2013 02:30:50 -0700 (PDT) Date: Sun, 7 Jul 2013 02:30:50 -0700 X-Google-Sender-Auth: B_OBSk0I-H9wXnonXum9yq1EP_g Message-ID: Subject: VIMAGE crashes on 9.x with bluetooth devices From: Craig Rodrigues To: "freebsd-virtualization@freebsd.org" Content-Type: multipart/mixed; boundary=089e013d0f126b0a7e04e0e895cc X-Content-Filtered-By: Mailman/MimeDel 2.1.14 Cc: Adrian Chadd , Maksim Yevmenkin , Marko Zec X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.14 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: Sun, 07 Jul 2013 09:30:52 -0000 --089e013d0f126b0a7e04e0e895cc Content-Type: text/plain; charset=ISO-8859-1 Hi, I tried running PC-BSD 9.1 on an HP Elitebook 8460p laptop ( http://h10010.www1.hp.com/wwpc/pscmi...oks/8460p.html ). See the screenshot I posted here: http://forums.pcbsd.org/showthread.php?t=20001 In PC-BSD, the default kernel comes with VIMAGE enabled in the kernel config. The problem I encountered seems to be caused by problems with the FreeBSD kernel with VIMAGE + bluetooth. I've seen similar threads being posted here: "VIMAGE crashes on 9.x with hotplug net80211 devices" http://lists.freebsd.org/pipermail/freebsd-hackers/2012-October/040784.html "Panic in netgraph with VIMAGE" http://lists.freebsd.org/pipermail/freebsd-virtualization/2009-May/000325.html Doing some kernel debugging, I got this stack trace: #0 doadump (textdump=) at pcpu.h:234 #1 0xffffffff80923e86 in kern_reboot (howto=260) at /usr/home/rodrigc/freebsd/9/sys/kern/kern_shutdown.c:449 #2 0xffffffff80924387 in panic (fmt=0x1
) at /usr/home/rodrigc/freebsd/9/sys/kern/kern_shutdown.c:637 #3 0xffffffff80ce97f0 in trap_fatal (frame=0xc, eva=) at /usr/home/rodrigc/freebsd/9/sys/amd64/amd64/trap.c:879 #4 0xffffffff80ce9b51 in trap_pfault (frame=0xffffff811e2b7700, usermode=0) at /usr/home/rodrigc/freebsd/9/sys/amd64/amd64/trap.c:795 #5 0xffffffff80cea104 in trap (frame=0xffffff811e2b7700) at /usr/home/rodrigc/freebsd/9/sys/amd64/amd64/trap.c:463 #6 0xffffffff80cd3433 in calltrap () at /usr/home/rodrigc/freebsd/9/sys/amd64/amd64/exception.S:228 #7 0xffffffff81cc0bbd in ng_make_node_common (type=0xffffffff81cb6000, nodepp=0xfffffe0124d9c310) at /usr/home/rodrigc/freebsd/9/sys/modules/netgraph/netgraph/../../../netgraph/ng_base.c:669 #8 0xffffffff81cb320e in ubt_attach (dev=0xfffffe01041f1d00) at /usr/home/rodrigc/freebsd/9/sys/modules/netgraph/bluetooth/ubt/../../../../netgraph/bluetooth/drivers/ubt/ng_ubt.c:461 #9 0xffffffff80956c9c in device_attach (dev=0xfffffe01041f1d00) at device_if.h:180 #10 0xffffffff8078a61e in usb_probe_and_attach (udev=0xfffffe0124580000, iface_index=) at /usr/home/rodrigc/freebsd/9/sys/dev/usb/usb_device.c:1183 #11 0xffffffff80792c4e in uhub_explore (udev=0xfffffe000900c000) at /usr/home/rodrigc/freebsd/9/sys/dev/usb/usb_hub.c:272 #12 0xffffffff80792c74 in uhub_explore (udev=0xfffffe0007ee2000) at /usr/home/rodrigc/freebsd/9/sys/dev/usb/usb_hub.c:286 #13 0xffffffff8077ce46 in usb_bus_explore (pm=) at /usr/home/rodrigc/freebsd/9/sys/dev/usb/controller/usb_controller.c:359 #14 0xffffffff80796da3 in usb_process (arg=) at /usr/home/rodrigc/freebsd/9/sys/dev/usb/usb_process.c:169 #15 0xffffffff808f1cef in fork_exit (callout=0xffffffff80796cd0 , arg=0xffffff8001c3cdb0, frame=0xffffff811e2b7b00) at /usr/home/rodrigc/freebsd/9/sys/kern/kern_fork.c:988 #16 0xffffffff80cd395e in fork_trampoline () at /usr/home/rodrigc/freebsd/9/sys/amd64/amd64/exception.S:602 #17 0x0000000000000000 in ?? () and the error occurred on line 669 in ng_base.c: #7 0xffffffff81cc0bbd in ng_make_node_common (type=0xffffffff81cb6000, nodepp=0xfffffe0124d9c310) at /usr/home/rodrigc/freebsd/9/sys/modules/netgraph/netgraph/../../../netgraph/ng_base.c:669 669 node->nd_ID = V_nextID++; /* 137/sec for 1 year before wrap */ (kgdb) l 664 665 /* Get an ID and put us in the hash chain. */ 666 IDHASH_WLOCK(); 667 for (; { /* wrap protection, even if silly */ 668 node_p node2 = NULL; 669 node->nd_ID = V_nextID++; /* 137/sec for 1 year before wrap */ 670 671 /* Is there a problem with the new number? */ 672 NG_IDHASH_FIND(node->nd_ID, node2); /* already taken? */ 673 if ((node->nd_ID != 0) && (node2 == NULL)) { It turns out that when VIMAGE is defined in the kernel, V_nextID is not an int any more, it is a macro. line 669 expands to something that looks like: node->nd_ID = (*(__typeof(vnet_entry_nextID)*) (((((__curthread())->td_vnet))->vnet_data_base) + (uintptr_t)&vnet_entry_nextID))++; On my system, td_vnet was not initialized, so that was causing the kernel panic. Is the attached patch OK to commit to -CURRENT, and then after some time MFC to stable/9? With this patch, my system can boot with VIMAGE enabled in the kernel and it does not crash. -- Craig --089e013d0f126b0a7e04e0e895cc Content-Type: text/plain; charset=US-ASCII; name="ng_ubt.c.fix.txt" Content-Disposition: attachment; filename="ng_ubt.c.fix.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hiu189tv0 SW5kZXg6IGJsdWV0b290aC9kcml2ZXJzL3VidC9uZ191YnQuYwo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBibHVl dG9vdGgvZHJpdmVycy91YnQvbmdfdWJ0LmMJKHJldmlzaW9uIDI1MjIxOCkKKysrIGJsdWV0b290 aC9kcml2ZXJzL3VidC9uZ191YnQuYwkod29ya2luZyBjb3B5KQpAQCAtMTA5LDcgKzEwOSw5IEBA CiAjaW5jbHVkZSA8c3lzL3VuaXN0ZC5oPgogI2luY2x1ZGUgPHN5cy9jYWxsb3V0Lmg+CiAjaW5j bHVkZSA8c3lzL21hbGxvYy5oPgorI2luY2x1ZGUgPHN5cy9qYWlsLmg+CiAjaW5jbHVkZSA8c3lz L3ByaXYuaD4KKyNpbmNsdWRlIDxzeXMvcHJvYy5oPgogCiAjaW5jbHVkZSAidXNiZGV2cy5oIgog I2luY2x1ZGUgPGRldi91c2IvdXNiLmg+CkBAIC0xMjMsNiArMTI1LDcgQEAKICNpbmNsdWRlIDxz eXMvbWJ1Zi5oPgogI2luY2x1ZGUgPHN5cy90YXNrcXVldWUuaD4KIAorI2luY2x1ZGUgPG5ldC92 bmV0Lmg+CiAjaW5jbHVkZSA8bmV0Z3JhcGgvbmdfbWVzc2FnZS5oPgogI2luY2x1ZGUgPG5ldGdy YXBoL25ldGdyYXBoLmg+CiAjaW5jbHVkZSA8bmV0Z3JhcGgvbmdfcGFyc2UuaD4KQEAgLTQ1Mywx MyArNDU2LDE0IEBACiAKIAlzYy0+c2NfZGV2ID0gZGV2OwogCXNjLT5zY19kZWJ1ZyA9IE5HX1VC VF9XQVJOX0xFVkVMOwotCisJQ1VSVk5FVF9TRVQoVERfVE9fVk5FVChjdXJ0aHJlYWQpKTsKIAkv KiAKIAkgKiBDcmVhdGUgTmV0Z3JhcGggbm9kZQogCSAqLwogCiAJaWYgKG5nX21ha2Vfbm9kZV9j b21tb24oJnR5cGVzdHJ1Y3QsICZzYy0+c2Nfbm9kZSkgIT0gMCkgewogCQlVQlRfQUxFUlQoc2Ms ICJjb3VsZCBub3QgY3JlYXRlIE5ldGdyYXBoIG5vZGVcbiIpOworCQlDVVJWTkVUX1JFU1RPUkUo KTsKIAkJcmV0dXJuIChFTlhJTyk7CiAJfQogCkBAIC00NjcsMTAgKzQ3MSwxMiBAQAogCWlmIChu Z19uYW1lX25vZGUoc2MtPnNjX25vZGUsIGRldmljZV9nZXRfbmFtZXVuaXQoZGV2KSkgIT0gMCkg ewogCQlVQlRfQUxFUlQoc2MsICJjb3VsZCBub3QgbmFtZSBOZXRncmFwaCBub2RlXG4iKTsKIAkJ TkdfTk9ERV9VTlJFRihzYy0+c2Nfbm9kZSk7CisJCUNVUlZORVRfUkVTVE9SRSgpOwogCQlyZXR1 cm4gKEVOWElPKTsKIAl9CiAJTkdfTk9ERV9TRVRfUFJJVkFURShzYy0+c2Nfbm9kZSwgc2MpOwog CU5HX05PREVfRk9SQ0VfV1JJVEVSKHNjLT5zY19ub2RlKTsKKwlDVVJWTkVUX1JFU1RPUkUoKTsK IAogCS8qCiAJICogSW5pdGlhbGl6ZSBkZXZpY2Ugc29mdGMgc3RydWN0dXJlCg== --089e013d0f126b0a7e04e0e895cc--