Upgraded to 6.1.34, after this "Unable to locate imported symbol 'memset'"

Discussions related to using VirtualBox on Linux hosts.
gusnan
Posts: 26
Joined: 24. Feb 2014, 13:32

Upgraded to 6.1.34, after this "Unable to locate imported symbol 'memset'"

Post by gusnan »

Just upgraded to vbox 6.1.34, on Debian Bullseye, virtualbox apt repos. After this I cannot start any VMs.

Code: Select all

Failed to load R0 module /usr/lib/virtualbox/VBoxDDR0.r0: Unable to locate imported symbol 'memset' for module 'VBoxDDR0.r0' (VERR_SYMBOL_NOT_FOUND).
Failed to load ring-0 module 'VBoxDDR0.r0' for device 'pci' (VERR_SYMBOL_NOT_FOUND).


Result Code:  NS_ERROR_FAILURE (0x80004005)
Component:  ConsoleWrap
Interface:  IConsole {872da645-4a9b-1727-bee2-5585105b9eed}
robatino
Posts: 164
Joined: 17. Dec 2008, 21:15

Re: Upgraded to 6.1.34, after this "Unable to locate imported symbol 'memset'"

Post by robatino »

Same here. Running a Fedora 35 host. Cannot start either a Fedora 36 or Genymotion guest, same error when trying to start the F36 guest.

Edit: Noticed there is a ticket https://www.virtualbox.org/ticket/20904 , added my log file to it.
ferb
Posts: 7
Joined: 29. Apr 2020, 05:47

Re: Upgraded to 6.1.34, after this "Unable to locate imported symbol 'memset'"

Post by ferb »

I have the same problem, with fedora 35 x86_64, kernel 5.17.3-225
birdie
Posts: 428
Joined: 2. May 2010, 14:19
Primary OS: Fedora other
VBox Version: PUEL
Guest OSses: Windows, Linux, other Unixes
Location: Artem S. Tashkinov
Contact:

Re: Upgraded to 6.1.34, after this "Unable to locate imported symbol 'memset'"

Post by birdie »

I've got the same result on Fedora 35:

Code: Select all

Failed to load R0 module /usr/lib/virtualbox/VBoxDDR0.r0: Unable to locate imported symbol 'memset' for module 'VBoxDDR0.r0' (VERR_SYMBOL_NOT_FOUND).
Failed to load ring-0 module 'VBoxDDR0.r0' for device 'pci' (VERR_SYMBOL_NOT_FOUND).

Code: Select all

00:00:00.636222 VBoxDDR0.r0 is importing memset which we couldn't find
00:00:00.636226 AssertLogRel /home/vbox/vbox-6.1.34/src/VBox/HostDrivers/Support/SUPLibLdr.cpp(263) int supLoadModuleResolveImport(RTLDRMOD, const char*, const char*, unsigned int, RTUINTPTR*, void*): <NULL>
00:00:00.636227 VBoxDDR0.r0 is importing memset which we couldn't find
00:00:00.636229 SUP: RTLdrGetBits failed for VBoxDDR0.r0 (/usr/lib/virtualbox/VBoxDDR0.r0). rc=VERR_SYMBOL_NOT_FOUND
00:00:00.636234 PDMLdr: pdmR3LoadR0U: pszName="VBoxDDR0.r0" rc=VERR_SYMBOL_NOT_FOUND szErr="Unable to locate imported symbol 'memset' for module 'VBoxDDR0.r0'"
00:00:00.636242 VMSetError: /home/vbox/vbox-6.1.34/src/VBox/VMM/VMMR3/PDMLdr.cpp(733) int pdmR3LoadR0U(PUVM, const char*, const char*, const char*); rc=VERR_SYMBOL_NOT_FOUND
00:00:00.636243 VMSetError: Failed to load R0 module /usr/lib/virtualbox/VBoxDDR0.r0: Unable to locate imported symbol 'memset' for module 'VBoxDDR0.r0'
00:00:00.636247 VMSetError: /home/vbox/vbox-6.1.34/src/VBox/VMM/VMMR3/PDMDevice.cpp(340) int pdmR3DevInit(PVM); rc=VERR_SYMBOL_NOT_FOUND
00:00:00.636248 VMSetError: Failed to load ring-0 module 'VBoxDDR0.r0' for device 'pci'
00:00:00.637164 ERROR [COM]: aRC=NS_ERROR_FAILURE (0x80004005) aIID={872da645-4a9b-1727-bee2-5585105b9eed} aComponent={ConsoleWrap} aText={Failed to load R0 module /usr/lib/virtualbox/VBoxDDR0.r0: Unable to locate imported symbol 'memset' for module 'VBoxDDR0.r0' (VERR_SYMBOL_NOT_FOUND).
00:00:00.637167 Failed to load ring-0 module 'VBoxDDR0.r0' for device 'pci' (VERR_SYMBOL_NOT_FOUND)}, preserve=false aResultDetail=-609
00:00:00.637220 Console: Machine state changed to 'PoweredOff'
00:00:00.642236 Power up failed (vrc=VERR_SYMBOL_NOT_FOUND, rc=NS_ERROR_FAILURE (0X80004005))
birdie
Posts: 428
Joined: 2. May 2010, 14:19
Primary OS: Fedora other
VBox Version: PUEL
Guest OSses: Windows, Linux, other Unixes
Location: Artem S. Tashkinov
Contact:

Re: Upgraded to 6.1.34, after this "Unable to locate imported symbol 'memset'"

Post by birdie »

So, it's actually easy to fix.

Download any 6.1.x test build (I used Linux EL8 64-bit) and replace your existing /usr/lib/virtualbox/VBoxDDR0.r0 with the one from the archive.
robatino
Posts: 164
Joined: 17. Dec 2008, 21:15

Re: Upgraded to 6.1.34, after this "Unable to locate imported symbol 'memset'"

Post by robatino »

birdie wrote:So, it's actually easy to fix.

Download any 6.1.x test build (I used Linux EL8 64-bit) and replace your existing /usr/lib/virtualbox/VBoxDDR0.r0 with the one from the archive.
I extracted the file from the 6.1.32 rpm with the command

Code: Select all

rpm2cpio VirtualBox-6.1-6.1.32_149290_fedora33-1.x86_64.rpm | cpio -ivmd ./usr/lib/virtualbox/VBoxDDR0.r0
and that version seems to work fine. What does the file do? Does it have to be a newer version?
birdie
Posts: 428
Joined: 2. May 2010, 14:19
Primary OS: Fedora other
VBox Version: PUEL
Guest OSses: Windows, Linux, other Unixes
Location: Artem S. Tashkinov
Contact:

Re: Upgraded to 6.1.34, after this "Unable to locate imported symbol 'memset'"

Post by birdie »

robatino wrote:What does the file do? Does it have to be a newer version?
From https://www.virtualbox.org/svn/vbox/tru ... oxDDR0.cpp

"BoxDDR0 - Built-in drivers & devices (part 1), ring-0 module."

It's really small and doesn't seem to be doing a lot.
Sagypt
Posts: 51
Joined: 16. Apr 2012, 15:46

Re: Upgraded to 6.1.34, after this "Unable to locate imported symbol 'memset'"

Post by Sagypt »

Hi,

same problem on Debian 11 (Bullseye)

Code: Select all

Failed to open a session for the virtual machine Win10Pro.

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

Failed to load ring-0 module 'VBoxDDR0.r0' for device 'pci' (VERR_SYMBOL_NOT_FOUND).

Result Code: NS_ERROR_FAILURE (0x80004005)
Component: ConsoleWrap
Interface: IConsole {872da645-4a9b-1727-bee2-5585105b9eed}
[EDIT #1]

As suggested above, I replaced the file /usr/lib/virtualbox/VBoxDDR0.r0 installed by version 6.1.34 with that provided by version 6.1.32, extracted from package virtualbox-6.1_6.1.32-149290~Debian~bullseye_amd64.deb
All my VMs seem to be working.
I waiting for a new version with the fix.

[EDIT #2]

As suggested by @galitsyn, I unistalled the deb package of version 6.1.34 and reinstalled VirtualBox using the VirtualBox-6.1.34-150636-Linux_amd64.run installer.
Attachments
VBox.log
(46.41 KiB) Downloaded 111 times
Last edited by Sagypt on 21. Apr 2022, 10:13, edited 2 times in total.
Moore
Posts: 1
Joined: 20. Apr 2022, 11:51

Re: Upgraded to 6.1.34, after this "Unable to locate imported symbol 'memset'"

Post by Moore »

Same on Debian 11. As pointed above, replace the /usr/lib/virtualbox/VBoxDDR0.r0 from archive seems to be a good temporary fix before Virtualbox's new release.
gusnan
Posts: 26
Joined: 24. Feb 2014, 13:32

Re: Upgraded to 6.1.34, after this "Unable to locate imported symbol 'memset'"

Post by gusnan »

Moore wrote:Same on Debian 11. As pointed above, replace the /usr/lib/virtualbox/VBoxDDR0.r0 from archive seems to be a good temporary fix before Virtualbox's new release.
gusnan wrote: What archive are you getting it from? I am trying with

VirtualBox-6.1-6.1.32_149290_fedora33-1.x86_64.rpm

but it still doesn't get Vbox running. :(
Ignore that - I got a deb for 6.1.32 and installed that. That solved it finally.
galitsyn
Posts: 82
Joined: 4. Jul 2012, 16:09

Re: Upgraded to 6.1.34, after this "Unable to locate imported symbol 'memset'"

Post by galitsyn »

Hi guys,

Thanks for pointing to the issue. As a temporary workaround I would suggest to use VirtualBox-6.1.34-150636-Linux_amd64.run installer from https://download.virtualbox.org/virtualbox/6.1.34/. I also would recommend to DO NOT play with VBoxDDR0.r0 replacement, but rather go for .run installer option.
birdie
Posts: 428
Joined: 2. May 2010, 14:19
Primary OS: Fedora other
VBox Version: PUEL
Guest OSses: Windows, Linux, other Unixes
Location: Artem S. Tashkinov
Contact:

Re: Upgraded to 6.1.34, after this "Unable to locate imported symbol 'memset'"

Post by birdie »

galitsyn wrote:Hi guys,

Thanks for pointing to the issue. As a temporary workaround I would suggest to use VirtualBox-6.1.34-150636-Linux_amd64.run installer from https://download.virtualbox.org/virtualbox/6.1.34/. I also would recommend to DO NOT play with VBoxDDR0.r0 replacement, but rather go for .run installer option.
Would be nice if you guys released a quick fix/update. After all we are talking a completely broken release.

For all the interested, I've extracted VBoxDDR0.r0 from VirtualBox-6.1.34-150636-Linux_amd64.run which you can download below.

sha256sum:
4318857ab87b0d3c6df7d4180543e5b1a0c57f813fb6a1567d489d04581376ab  VBoxDDR0.r0
The file is linked statically, so it will work on all Linux distros.
Last edited by mpack on 21. Apr 2022, 09:35, edited 1 time in total.
Reason: Delete attachment
mpack
Site Moderator
Posts: 39156
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: Upgraded to 6.1.34, after this "Unable to locate imported symbol 'memset'"

Post by mpack »

The devs specifically asked you NOT to mess around with replacing the .r0 file. Also, providing a copyrighted file as an attachment to a post can get some people downright upset. Please leave software distribution to those that own the software.
galitsyn
Posts: 82
Joined: 4. Jul 2012, 16:09

Re: Upgraded to 6.1.34, after this "Unable to locate imported symbol 'memset'"

Post by galitsyn »

Hi guys,

This issue should now be fixed. We just updated https://www.virtualbox.org/wiki/Linux_Downloads and now download links point to proper packages. Please feel free to give it a try.

Thank you!
klaus
Oracle Corporation
Posts: 1115
Joined: 10. May 2007, 14:57

Re: Upgraded to 6.1.34, after this "Unable to locate imported symbol 'memset'"

Post by klaus »

The updated packages are available in the repositories on https://download.virtualbox.org/virtualbox for about 4 hours now.

For 3rd party packagers: the patch which needs to be applied to resolve this memset issue (which is due to compilers becoming too smart lately) is https://www.virtualbox.org/changeset?re ... Config.kmk - the Debian/Ubuntu packager reported this applies with a little fuzz, but it works.
Locked