Summary: | emulators/virtualbox-ose-kmod panic in 13-CURRENT r365718 and in 12-STABLE r365830 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Adriaan de Groot <adridg> | ||||||||||
Component: | Individual Port(s) | Assignee: | Konstantin Belousov <kib> | ||||||||||
Status: | Closed FIXED | ||||||||||||
Severity: | Affects Some People | CC: | adridg, bugsfreebsd, emaste, grahamperrin, groenveld, kevans, madpilot, markj, mikael, ohartmann, rhurlin, yuri | ||||||||||
Priority: | --- | Keywords: | crash, needs-qa | ||||||||||
Version: | Latest | Flags: | koobs:
maintainer-feedback+
koobs: merge-quarterly? |
||||||||||
Hardware: | Any | ||||||||||||
OS: | Any | ||||||||||||
Attachments: |
|
Description
Adriaan de Groot
2020-09-14 22:22:05 UTC
world / kernel bisecting 365036 ok 365718 bad 365360 ok (loaded vboxdrv built agains 365036) 365500 bad (when loading vboxdrv built against 365036) 365430 ok (") 365465 ok (") 365480 ok (") 365484 ok (") 365485 ok (") 365488 bad (") Created attachment 217970 [details]
Crash trace
r365487 is ok
r365488 is bad (with vboxdrv built against known-good r365036)
Crash trace from that bad r after `kldload vboxdrv`
Assigning to kib@ who isn't a ports committer and isn't involved with VBox anyway, but with r365488 triggering panics from the vbox driver, I suspect there's edge cases (or external drivers) that need work. I began encountering this bug after upgrading -CURRENT from r365364 to r365727. At the time of writing: root@momh167-gjp4-8570p:~ # date ; uname -v Wed Sep 16 04:46:59 BST 2020 FreeBSD 13.0-CURRENT #67 r365756: Tue Sep 15 23:25:46 BST 2020 root@momh167-gjp4-8570p:/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG root@momh167-gjp4-8570p:~ # grep vbox /boot/loader.conf # vboxdrv_load="YES" root@momh167-gjp4-8570p:~ # grep vbox /etc/rc.conf # r365756a panics when vboxnet starts # vboxnet_enable="YES" root@momh167-gjp4-8570p:~ # – if I do not load vboxdrv (loader.conf) and if I do not enable vboxnet (rc.conf) then the kernel panics on: vboxnet onestart – and continue does _not_ lead to a dump. ---- HP EliteBook 8570p. root@momh167-gjp4-8570p:~ # pciconf -lv hostb0@pci0:0:0:0: class=0x060000 rev=0x09 hdr=0x00 vendor=0x8086 device=0x0154 subvendor=0x103c subdevice=0x17a7 vendor = 'Intel Corporation' device = '3rd Gen Core processor DRAM Controller' class = bridge subclass = HOST-PCI pcib1@pci0:0:1:0: class=0x060400 rev=0x09 hdr=0x01 vendor=0x8086 device=0x0151 subvendor=0x8086 subdevice=0x2010 vendor = 'Intel Corporation' device = 'Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port' class = bridge subclass = PCI-PCI xhci0@pci0:0:20:0: class=0x0c0330 rev=0x04 hdr=0x00 vendor=0x8086 device=0x1e31 subvendor=0x103c subdevice=0x17a7 vendor = 'Intel Corporation' device = '7 Series/C210 Series Chipset Family USB xHCI Host Controller' class = serial bus subclass = USB none0@pci0:0:22:0: class=0x078000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x1e3a subvendor=0x103c subdevice=0x17a7 vendor = 'Intel Corporation' device = '7 Series/C216 Chipset Family MEI Controller' class = simple comms uart2@pci0:0:22:3: class=0x070002 rev=0x04 hdr=0x00 vendor=0x8086 device=0x1e3d subvendor=0x103c subdevice=0x17a7 vendor = 'Intel Corporation' device = '7 Series/C210 Series Chipset Family KT Controller' class = simple comms subclass = UART em0@pci0:0:25:0: class=0x020000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x1502 subvendor=0x103c subdevice=0x17a7 vendor = 'Intel Corporation' device = '82579LM Gigabit Network Connection (Lewisville)' class = network subclass = ethernet ehci0@pci0:0:26:0: class=0x0c0320 rev=0x04 hdr=0x00 vendor=0x8086 device=0x1e2d subvendor=0x103c subdevice=0x17a7 vendor = 'Intel Corporation' device = '7 Series/C216 Chipset Family USB Enhanced Host Controller' class = serial bus subclass = USB hdac1@pci0:0:27:0: class=0x040300 rev=0x04 hdr=0x00 vendor=0x8086 device=0x1e20 subvendor=0x103c subdevice=0x17a7 vendor = 'Intel Corporation' device = '7 Series/C216 Chipset Family High Definition Audio Controller' class = multimedia subclass = HDA pcib2@pci0:0:28:0: class=0x060400 rev=0xc4 hdr=0x01 vendor=0x8086 device=0x1e10 subvendor=0x103c subdevice=0x17a7 vendor = 'Intel Corporation' device = '7 Series/C216 Chipset Family PCI Express Root Port 1' class = bridge subclass = PCI-PCI pcib3@pci0:0:28:2: class=0x060400 rev=0xc4 hdr=0x01 vendor=0x8086 device=0x1e14 subvendor=0x103c subdevice=0x17a7 vendor = 'Intel Corporation' device = '7 Series/C210 Series Chipset Family PCI Express Root Port 3' class = bridge subclass = PCI-PCI pcib4@pci0:0:28:3: class=0x060400 rev=0xc4 hdr=0x01 vendor=0x8086 device=0x1e16 subvendor=0x103c subdevice=0x17a7 vendor = 'Intel Corporation' device = '7 Series/C216 Chipset Family PCI Express Root Port 4' class = bridge subclass = PCI-PCI ehci1@pci0:0:29:0: class=0x0c0320 rev=0x04 hdr=0x00 vendor=0x8086 device=0x1e26 subvendor=0x103c subdevice=0x17a7 vendor = 'Intel Corporation' device = '7 Series/C216 Chipset Family USB Enhanced Host Controller' class = serial bus subclass = USB isab0@pci0:0:31:0: class=0x060100 rev=0x04 hdr=0x00 vendor=0x8086 device=0x1e55 subvendor=0x103c subdevice=0x17a7 vendor = 'Intel Corporation' device = 'QM77 Express Chipset LPC Controller' class = bridge subclass = PCI-ISA ahci0@pci0:0:31:2: class=0x010601 rev=0x04 hdr=0x00 vendor=0x8086 device=0x1e03 subvendor=0x103c subdevice=0x17a7 vendor = 'Intel Corporation' device = '7 Series Chipset Family 6-port SATA Controller [AHCI mode]' class = mass storage subclass = SATA vgapci0@pci0:1:0:0: class=0x030000 rev=0x00 hdr=0x00 vendor=0x1002 device=0x6841 subvendor=0x103c subdevice=0x17a9 vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]' device = 'Thames [Radeon HD 7550M/7570M/7650M]' class = display subclass = VGA hdac0@pci0:1:0:1: class=0x040300 rev=0x00 hdr=0x00 vendor=0x1002 device=0xaa90 subvendor=0x103c subdevice=0x17a9 vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]' device = 'Turks HDMI Audio [Radeon HD 6500/6600 / 6700M Series]' class = multimedia subclass = HDA iwn0@pci0:4:0:0: class=0x028000 rev=0x34 hdr=0x00 vendor=0x8086 device=0x0082 subvendor=0x8086 subdevice=0x1301 vendor = 'Intel Corporation' device = 'Centrino Advanced-N 6205 [Taylor Peak]' class = network root@momh167-gjp4-8570p:~ # ---- QuickSpecs (DA - 14304 Worldwide — Version 16 — June 6, 2013) for HP EliteBook 8470p and HP EliteBook 8570p <https://web.archive.org/web/20150906211950/http://www8.hp.com:80/h20195/v2/GetPDF.aspx/c04163744.pdf> HP EliteBook 8570p Notebook PC Specifications | HP® Customer Support <https://support.hp.com/gb-en/document/c03393945> *** Bug 249407 has been marked as a duplicate of this bug. *** 12.2-STABLE is also crashing. 12.2-STABLE #0 r365688 is still good. 12.2-STABLE #0 r365830 is bad. Could you please take back the offending commits from 12? I had hoped this PR would put the brakes on an MFH, but no. Since I filed it as a ports bug, I don't really know what else to do. For latecomers to the thread: if you need virtualbox, for 13-CURRENT, use r365487 for 12-STABLE, use r365688 (In reply to Adriaan de Groot from comment #8) r365488 was merged to 12 in r365803, so 12-STABLE should be ok up to r365802. In fact if someone could confirm this it would give a clearer indication that the problematic commit is r365488. I can confirm, that for CURRENT, at least reverting back to r365487 solves the issue with panicing kernel when voxdrv.ko is enabled with all the other bugs and failures back in CURRENT, which have been solved since then, the same is for 12-STABLE at r365688, as suggested. On CURRENT, I also use an nvidia discrete GPU with driver version 440.100. (In reply to Guido Falsi from comment #9) on 365802 12-STABLE works correctly for me /home/tomek$ uname -a FreeBSD s100.ttmath.org 12.2-STABLE FreeBSD 12.2-STABLE r365802 tomek amd64 /home/tomek$ grep vbox /etc/rc.conf vboxnet_enable="YES" /home/tomek$ grep vbox /boot/loader.conf vboxdrv_load="YES" /home/tomek$ kldstat Id Refs Address Size Name 1 70 0xffffffff80200000 1aacc58 kernel 2 1 0xffffffff81cad000 1e048 geom_journal.ko 3 1 0xffffffff81ccd000 41e0 amdtemp.ko 4 2 0xffffffff81cd2000 2550 amdsmn.ko 5 1 0xffffffff81cd5000 165920 nvidia-modeset.ko 6 7 0xffffffff81e3b000 d770 linux_common.ko 7 3 0xffffffff81e49000 b2868 linux.ko 8 2 0xffffffff81efc000 15b6618 nvidia.ko 9 1 0xffffffff834b3000 27cc0 fuse.ko 10 1 0xffffffff834db000 9ef0 cuse.ko 11 3 0xffffffff834e5000 89148 vboxdrv.ko 12 1 0xffffffff83719000 1f3c linsysfs.ko 13 1 0xffffffff8371b000 5500 linprocfs.ko 14 1 0xffffffff83721000 87e8 tmpfs.ko 15 1 0xffffffff8372a000 1a28 fdescfs.ko 16 1 0xffffffff8372c000 2698 intpm.ko 17 1 0xffffffff8372f000 b40 smbus.ko 18 1 0xffffffff83730000 1860 uhid.ko 19 1 0xffffffff83732000 1a40 wmt.ko 20 1 0xffffffff83734000 2908 ums.ko 21 2 0xffffffff83737000 2cd0 vboxnetflt.ko 22 2 0xffffffff8373a000 9bd0 netgraph.ko 23 1 0xffffffff83744000 1770 ng_ether.ko 24 1 0xffffffff83746000 3f00 vboxnetadp.ko 25 1 0xffffffff8374a000 35cb0 linux64.ko 26 1 0xffffffff83780000 4f9 pty.ko /home/tomek$ pkg info -x nvidia nvidia-driver-390-390.138 nvidia-settings-440.100 > emulators/virtualbox-ose-kmod panic in 13-CURRENT r365718 and in 12-STABLE r365830 Tentatively, ▶ emulators/virtualbox-ose-kmod panic in 13-CURRENT r365488 and in 12-STABLE r365803 https://reviews.freebsd.org/rS365488 https://reviews.freebsd.org/rS365803 From a non-panicking boot environment: ---- root@momh167-gjp4-8570p:~ # date ; uname -v Sun Sep 20 15:57:18 BST 2020 FreeBSD 13.0-CURRENT #64 r365364: Sun Sep 6 01:38:18 BST 2020 root@momh167-gjp4-8570p:/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG root@momh167-gjp4-8570p:~ # pkg info -x kmod drm-legacy-kmod-g20200825 gpu-firmware-kmod-g20200914 libmikmod-3.3.11.1_1 openzfs-kmod-2020082100 sysctlbyname-improved-kmod-20191124 sysctlinfo-kmod-20191005 virtualbox-ose-kmod-5.2.44_1 root@momh167-gjp4-8570p:~ # kldstat Id Refs Address Size Name 1 138 0xffffffff80200000 1f09400 kernel 2 1 0xffffffff8210a000 5570 sysctlinfo.ko 3 3 0xffffffff82110000 8aac0 vboxdrv.ko 4 1 0xffffffff8219b000 3368 sysctlbyname_improved.ko 5 1 0xffffffff8219f000 b920 cuse.ko 6 1 0xffffffff821ab000 1ab00 geom_eli.ko 7 1 0xffffffff821c7000 fb30 aesni.ko 8 1 0xffffffff821d7000 d150 autofs.ko 9 1 0xffffffff821e5000 64e648 openzfs.ko 10 2 0xffffffff82834000 adb8 cryptodev.ko 11 1 0xffffffff8308f000 34c8 fdescfs.ko 12 1 0xffffffff83093000 b95f8 radeonkms.ko 13 1 0xffffffff8314d000 3e5d0 drm2.ko 14 4 0xffffffff8318c000 433c iicbus.ko 15 1 0xffffffff83191000 2260 iic.ko 16 1 0xffffffff83194000 326c iicbb.ko 17 1 0xffffffff83198000 3268 radeon_TURKS_pfp_bin.ko 18 1 0xffffffff8319c000 3668 radeon_TURKS_me_bin.ko 19 1 0xffffffff831a0000 2ce8 radeon_BTC_rlc_bin.ko 20 1 0xffffffff831a3000 7f08 radeon_TURKS_mc_bin.ko 21 1 0xffffffff831ab000 4b60 ng_ubt.ko 22 8 0xffffffff831b0000 a8e8 netgraph.ko 23 2 0xffffffff831bb000 a1e8 ng_hci.ko 24 3 0xffffffff831c6000 25a8 ng_bluetooth.ko 25 1 0xffffffff831c9000 2320 uhid.ko 26 1 0xffffffff831cc000 4328 ums.ko 27 1 0xffffffff831d1000 32a0 wmt.ko 28 1 0xffffffff831d5000 3440 umodem.ko 29 1 0xffffffff831d9000 4dd8 ucom.ko 30 1 0xffffffff831de000 4600 if_cdce.ko 31 1 0xffffffff831e3000 3178 uether.ko 32 1 0xffffffff831e7000 e200 ng_l2cap.ko 33 1 0xffffffff831f6000 1ccb8 ng_btsocket.ko 34 1 0xffffffff83213000 38e0 ng_socket.ko 35 2 0xffffffff83217000 4218 vboxnetflt.ko 36 1 0xffffffff8321c000 31c8 ng_ether.ko 37 1 0xffffffff83220000 55e0 vboxnetadp.ko 38 1 0xffffffff83226000 3def8 linux.ko 39 4 0xffffffff83264000 5048 linux_common.ko 40 1 0xffffffff8326a000 370c8 linux64.ko 41 1 0xffffffff832a2000 2260 pty.ko 42 1 0xffffffff832a5000 639c linprocfs.ko 43 1 0xffffffff832ac000 3284 linsysfs.ko 44 1 0xffffffff832b0000 2a08 mac_ntpd.ko root@momh167-gjp4-8570p:~ # ---- Side note: drm-legacy-kmod is obsolete but with my graphics hardware 'Thames [Radeon HD 7550M/7570M/7650M]' I find it far less troublesome than (generally recommended) drm-current-kmod On the freebsd-current mailing list kib has sent a possible patch for this issue. I have not tested it at present, but I'm posting a link in case anyone is interested: https://lists.freebsd.org/pipermail/freebsd-current/2020-September/077262.html Created attachment 218206 [details]
Patch from kib@
This is the patch kib@ proposes in that -current thread. It compiles.
It doesn't seem to help, though: after rebuilding world and kernel to 13-CURRENT HEAD, rebuilding the driver with the patch applied, the panic looks the same. (In reply to Adriaan de Groot from comment #16) is it with the patch in this mail ? https://lists.freebsd.org/pipermail/freebsd-current/2020-September/077301.html Created attachment 218208 [details]
Update VirtualBox patches
Patch updated with the comments from later in the -current thread, then integrated with existing patches and (re)generated against SVN with `svn diff`.
While here, update PORTREVISION for kmod to match the other package -- so it skips "2".
Tested on 13-CURRENT r366065. It's ok.
Created attachment 218209 [details]
proposed patch
Hi,
Here's a patch which fixes the crash and also an unrelated VM bug in virtualbox.
Comment on attachment 218209 [details]
proposed patch
If the patch passes QA (poudriere)
Approved by: koobs (vbox)
MFH: 2020Q3
*** Bug 249500 has been marked as a duplicate of this bug. *** (In reply to Kubilay Kocak from comment #20) Would any ports committer be willing to commit the patch? If not I can do it. @markj, I'll do it (after one more round of test-build here). A commit references this bug: Author: adridg Date: Thu Sep 24 14:59:15 UTC 2020 New revision: 549922 URL: https://svnweb.freebsd.org/changeset/ports/549922 Log: emulators/virtualbox-ose-kmod: Fix a pair of VM bugs - Use vm_pager_allocate() to allocate OBJT_PHYS objects. This ensures that they're initialized properly. - Don't assume that user wiring will succeed. This had been a team effort, with multiple independent reports, a wide variety of experiments, and patches written by kib@ and refined by markj@. I'm bumping PORTREVISION and aligning the revision of both kmod and application; it's possible the application bump isn't actually needed but let's make sure they both get rebuilt with this important (because of changed kernel assumptions) fix. PR: 249326 Submitted by: kib, markj Reported by: adridg, Rainer Hurling Reviewed by: adridg Approved by: koobs (vbox) MFH: 2020Q3 Changes: head/emulators/virtualbox-ose/Makefile head/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c head/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_the-freebsd-kernel.h head/emulators/virtualbox-ose-kmod/Makefile (In reply to commit-hook from comment #24) I confirm that with the patches committed by Adriaan virtualbox now works fine on head. I'm using r366077 here. A commit references this bug: Author: adridg Date: Sat Sep 26 11:17:54 UTC 2020 New revision: 550164 URL: https://svnweb.freebsd.org/changeset/ports/550164 Log: MFH: r549922 emulators/virtualbox-ose-kmod: Fix a pair of VM bugs - Use vm_pager_allocate() to allocate OBJT_PHYS objects. This ensures that they're initialized properly. - Don't assume that user wiring will succeed. This had been a team effort, with multiple independent reports, a wide variety of experiments, and patches written by kib@ and refined by markj@. I'm bumping PORTREVISION and aligning the revision of both kmod and application; it's possible the application bump isn't actually needed but let's make sure they both get rebuilt with this important (because of changed kernel assumptions) fix. PR: 249326 Submitted by: kib, markj Reported by: adridg, Rainer Hurling Reviewed by: adridg Approved by: koobs (vbox) Approved by: ports-secteam (fluffy) Changes: _U branches/2020Q3/ branches/2020Q3/emulators/virtualbox-ose/Makefile branches/2020Q3/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c branches/2020Q3/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_the-freebsd-kernel.h branches/2020Q3/emulators/virtualbox-ose-kmod/Makefile Thank you! No longer panicking for me with FreeBSD-CURRENT. ---- grahamperrin@momh167-gjp4-8570p:~ % date ; uname -v Sun 27 Sep 2020 00:01:09 BST FreeBSD 13.0-CURRENT #66 r366136: Fri Sep 25 18:46:17 BST 2020 root@momh167-gjp4-8570p:/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG grahamperrin@momh167-gjp4-8570p:~ % kldstat | grep box 9 3 0xffffffff827c9000 8ab00 vboxdrv.ko 11 2 0xffffffff83093000 4218 vboxnetflt.ko 14 1 0xffffffff830a7000 55e0 vboxnetadp.ko grahamperrin@momh167-gjp4-8570p:~ % pkg query '%o %v %R' virtualbox-ose-kmod emulators/virtualbox-ose-kmod 5.2.44_3 unknown-repository grahamperrin@momh167-gjp4-8570p:~ % grep -v \# /etc/make.conf PORTS_MODULES= graphics/gpu-firmware-kmod graphics/drm-devel-kmod sysutils/sysctlinfo-kmod emulators/virtualbox-ose-kmod grahamperrin@momh167-gjp4-8570p:~ % |