void-linux / void-packages

The Void source packages collection
https://voidlinux.org
Other
2.56k stars 2.14k forks source link

virtualbox 6.1.34 is broken with Windows guests (please downgrade) #38116

Closed AngryPhantom closed 2 years ago

AngryPhantom commented 2 years ago

Is this a new report?

Yes

System Info

Void 5.10.130_1 x86_64 AuthenticAMD uptodate hold rDFFFFF

Package(s) Affected

virtualbox-ose-6.1.34_1, virtualbox-ose-dkms-6.1.34_1

Does a report exist for this bug with the project's home (upstream) and/or another distro?

https://www.virtualbox.org/ticket/20904

Plus a lot of complaints on other forums and resources, like Debian forums, Stackoverflow etc.

Expected behaviour

Windows guest should boot normally.

Actual behaviour

I'm getting an error message:

Error "Failed to load R0 module /usr/lib/virtualbox/VBoxDDR0.r0: Unable to locate imported symbol 'memset' for module 'VBoxDDR0.r0' (VERR_SYMBOL_NOT_FOUND)."

Steps to reproduce

  1. Have some Windows (mine is XP) already installed and running fine on version 6.1.32
  2. Upgrade to 6.1.34
  3. Boot Windows guest
  4. Crash with the above error message
sgn commented 2 years ago

Did you build virtualbox-ose yourself? /usr/lib/virtualbox/VBoxDDR0.r0 was build with -ffreestanding to specifically address this problem, see https://github.com/void-linux/void-packages/issues/38092#issuecomment-1186243003 and https://github.com/void-linux/void-packages/blob/master/srcpkgs/virtualbox-ose/patches/ffreestanding.patch

sgn commented 2 years ago
g++ -c -O2 -fno-pie -nostdinc -g -pipe  -pedantic -Wshadow -Wall -Wextra -Wno-missing-field-initializers -Wno-unused -Wno-trigraphs -fdiagnostics-show-option -Wno-unused-parameter     -Wlogical-op   -Wno-variadic-macros -Wno-long-long -Wunused-variable -Wunused-function -Wunused-label -Wunused-parameter  -Wno-overloaded-virtual -Wno-array-bounds -Wno-ignored-qualifiers -Wno-variadic-macros -O2 -mtune=generic -fno-omit-frame-pointer -fno-strict-aliasing -fno-exceptions -fno-stack-protector -fno-common -fvisibility-inlines-hidden -fvisibility=hidden -DVBOX_HAVE_VISIBILITY_HIDDEN -DRT_USE_VISIBILITY_DEFAULT -fno-rtti  -ffreestanding -fPIC -m64 -mno-red-zone -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fasynchronous-unwind-tables -I/builddir/VirtualBox-6.1.34/src/VBox/Devices/build -I/builddir/VirtualBox-6.1.34/include/VBox/Graphics -I/builddir/VirtualBox-6.1.34/include/iprt/nocrt -I/builddir/VirtualBox-6.1.34/out/linux.amd64/release/obj/VBoxDDR0/dtrace -I/builddir/VirtualBox-6.1.34/out/linux.amd64/release/obj/VBoxDDR0/dtrace -I/builddir/VirtualBox-6.1.34/include -I/builddir/VirtualBox-6.1.34/out/linux.amd64/release -DVBOX -DVBOX_OSE -DVBOX_WITH_64_BITS_GUESTS -DRT_OS_LINUX -D_FILE_OFFSET_BITS=64 -DRT_ARCH_AMD64 -D__AMD64__ -DVBOX_WITH_DEBUGGER -DVBOX_WITH_HARDENING -DRTPATH_APP_PRIVATE=\"/usr/share/virtualbox\" -DRTPATH_APP_PRIVATE_ARCH=\"/usr/lib/virtualbox\" -DRTPATH_SHARED_LIBS=\"/usr/lib/virtualbox\" -DRTPATH_APP_DOCS=\"\" -DIN_RING0 -DIN_RING0_AGNOSTIC -DIPRT_NO_CRT -DRT_WITH_NOCRT_ALIASES -DHC_ARCH_BITS=64 -DGC_ARCH_BITS=64 -DVBOX_WITH_DTRACE -DVBOX_WITH_DTRACE_R0 -DIN_RT_R0 -DVBOX_WITH_HGCM -DVBOX_WITH_HGSMI -DVBOX_WITH_WDDM -DVBOX_WITH_VDMA -DVBOXWDDM_WITH_VBVA -DVBOX_WITH_INTEL_HDA -DVBOX_WITH_AUDIO_ENUM -DVBOX_WITH_AUDIO_CALLBACKS -DVBOX_WITH_INTEL_HDA -DVBOX_WITH_E1000 -DVBOX_WITH_VIRTIO -DVBOX_WITH_NETSHAPER -DVBOX_WITH_VMSVGA -DVBOX_WITH_VMSVGA3D -DVBOX_WITH_VUSB -DVBOX_WITH_USB -DVBOX_WITH_EFI -DVBOX_WITH_AHCI -DIN_AHCI_R0 -DVBOX_WITH_BUSLOGIC -DVBOX_WITH_LSILOGIC -DVBOX_WITH_VIRTIO_SCSI -DVBOX_WITH_HGSMI -DVBOX_WITH_VIDEOHWACCEL -Wp,-MD,/builddir/VirtualBox-6.1.34/out/linux.amd64/release/obj/VBoxDDR0/build/VBoxDDR0.o.dep -Wp,-MT,/builddir/VirtualBox-6.1.34/out/linux.amd64/release/obj/VBoxDDR0/build/VBoxDDR0.o -Wp,-MP -o /builddir/VirtualBox-6.1.34/out/linux.amd64/release/obj/VBoxDDR0/build/VBoxDDR0.o  /builddir/VirtualBox-6.1.34/src/VBox/Devices/build/VBoxDDR0.cpp

https://build.voidlinux.org/builders/x86_64_builder/builds/38499/steps/shell_3/logs/stdio

slender100 commented 2 years ago

Void 5.10.130_1 x86_64 AuthenticAMD uptodate hold rDFFFFF

you're using an older kernel version, upgrading should fix the issue

sgn commented 2 years ago

Void 5.10.130_1 x86_64 AuthenticAMD uptodate hold rDFFFFF

you're using an older kernel version, upgrading should fix the issue

I don't think so. It's worth a try, though.

AngryPhantom commented 2 years ago

Did you build virtualbox-ose yourself? /usr/lib/virtualbox/VBoxDDR0.r0 was build with -ffreestanding to specifically address this problem, see #38092 (comment) and https://github.com/void-linux/void-packages/blob/master/srcpkgs/virtualbox-ose/patches/ffreestanding.patch

No. From repos. Everything from repos. I don't build anything, especially that big and complex.

AngryPhantom commented 2 years ago

Void 5.10.130_1 x86_64 AuthenticAMD uptodate hold rDFFFFF

you're using an older kernel version, upgrading should fix the issue

Well, I need an LTS kernel. I know many ppl out there using even 4.9, 5.4 and 5.9 versions. Btw, my Debian box runs 6.1.34 with kernel 5.10 just fine.

dmarto commented 2 years ago

Based on the report, can you boot Linux guests? As, I had no issue with either windows or linux guests, while testing this yesterday (after aplying the -ffreestanding patch.

Though, I do have the latest available kernel:

Void 5.18.11_1 x86_64 AuthenticAMD uptodate rrrmFFFFFFFFFFFF

PS: There is always the chance that there may have been an issue while updating, can you verify with xbps-pkgdb or reinstall the pkg.

sgn commented 2 years ago

Yes, please give us output of xbps-query virtualbox-ose and xbps-pkgdb -a

AngryPhantom commented 2 years ago

... no issue ... (after aplying the -ffreestanding patch).

So, should others apply this patch now too (those who have this problem)? Do I need to recompile virtualbox afterwards? Sorry, my machine is too old for that. I've tried xbps-src several times before but was always getting some errors and just don't have time to debug them :( I prefer binary stuff now because of work and too little spare time.

can you verify with xbps-pkgdb or reinstall the pkg.

I've downgraded already. Here's the output of version 6.1.32 but you probably don't need it. Sorry again.

xbps-pkgdb -a reports nothing. All is well under the hood since I don't tweak my system at all. Simply not my hobby, just working.

Well, if it works for you doesn't mean it does for me (still, there is a ticket and other complaints on the Internet), but I can understand you and don't insist on the repo-wide downgrading. You may close this issue. I'm leaving it up to you, guys. I've downgraded already (thanks to some buddy with the version 6.1.32 in the /var/cache/xbps) and I'm relatively happy now. Sorry for taking your time. Probably there was some strange coincidence of already installed WinXP box and this upgrade. I just don't know. Thanks again for this awesome distro. Cheers!

sgn commented 2 years ago

... no issue ... (after aplying the -ffreestanding patch).

So, should others apply this patch now too (those who have this problem)?

No, the package should have that patch applied. We just don't know what's wrong in your case.  

xbps-pkgdb -a reports nothing.

I was asking for the report with virtualbox 6.1.34.

still, there is a ticket and other complaints on the Internet

Yes, there's a ticket reports that problem, but we built with the patch addressed it. If I'm not broke, I could recover my glibc machine to test it :(

AngryPhantom commented 2 years ago

@sgn Never mind. Virtualbox is now 6.1.36. Hope it is fixed. Will test as soon as Void updates it too.

AngryPhantom commented 2 years ago

The bug is still here with version 6.1.36. It is even NOT fixed in 6.1.38. And it's not the Void's fault. The problem is that no one can confirm this since the virtual machine had to be created several versions ago. And after that, upon upgrading VirtualBox itself, the issue appears. There is no problem if you create a new virtual machine with a new version of VB.