VirtualBox

Ticket #2550 (closed defect: fixed)

Opened 5 years ago

Last modified 4 years ago

Undefined symbol in vboxvfs in x86_64 guest => Fixed in SVN

Reported by: sandbox Owned by:
Priority: major Component: shared folders
Version: VirtualBox 2.0.4 Keywords: shared folder linux guest x86 vboxvfs RTSpinlockCreate
Cc: Guest type: Linux
Host type: Linux

Description

I tried to use shared folders in opensuse 64 11.0 guest but vboxvfs fails to load even though the compile process claims to be successful:

VirtualBox 2.0.4 Guest Additions installation
Building the VirtualBox Guest Additions kernel module...
Building the shared folder support kernel module...
Installing the VirtualBox Guest Additions...

Successfully installed the VirtualBox Guest Additions.
You must restart your guest system in order to complete the installation.

modprobe says:

opensuse11-64:/tmp/install # modprobe vboxvfs
FATAL: Error inserting vboxvfs (/lib/modules/2.6.25.18-0.2-default/misc/vboxvfs.ko): Unknown symbol in module, or unknown parameter (see dmesg)

dmesg says:

opensuse11-64:/tmp/install # dmesg|tail -n 3
SFW2-INext-DROP-DEFLT IN=eth0 OUT= MAC= SRC=10.0.2.15 DST=224.0.0.251 LEN=64 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=44
vboxvfs: disagrees about version of symbol RTSpinlockCreate
vboxvfs: Unknown symbol RTSpinlockCreate

in /tmp/vboxadd-Module.symvers there is one strange line:

0x00000000      RTSpinlockCreate        /tmp/vbox.8/vboxadd     EXPORT_SYMBOL

all other lines do have an address instead of 0x00. If I delete this line and recompile only vboxvfs with "/usr/src/vboxvfs-2.0.4/build_in_tmp --use-module-symvers /tmp/vboxadd-Module.symvers --no-print-directory install" the resulting module loads fine and shared folders seem to work:

opensuse11-64:/usr/src/vboxvfs-2.0.4 # modprobe vboxvfs; lsmod|grep vbox
vboxvfs                58792  0
vboxadd                89312  5 vboxvfs

However this is only an ugly workaround, I do not realy know if this breaks something and I suspect this error to occur on every newer 64 Bit distribution (it fails with same symptom and error code on Ubuntu 8.10).
I tried to reproduce this error with opensuse 11.0 32 Bit but there aren't any RTSpinlock* Symbols exported - maybe they also shouldn't be exported on 64 Bit?

Environment:
Host: opensuse 11.0 64 Bit
Guest: opensuse 11.0 64 Bit or Ubuntu 8.10 64 Bit

Attachments

VBox.log Download (41.3 KB) - added by OxOOCOFFEE 5 years ago.
Failed to mount with "sudo mount -t vboxsf VBoxShare /mnt/VBoxShare/"
log.error Download (16.0 KB) - added by OxOOCOFFEE 5 years ago.
Here is strace log for "sudo strace -f -o log -s128 mount -t vboxsf VBoxShare /mnt/VBoxShare/"
log.good Download (16.5 KB) - added by OxOOCOFFEE 5 years ago.
Here is strace log for "sudo strace -f -o log -s128 mount -t vboxsf FolderShare /mnt/VBoxShare/"

Change History

comment:1 Changed 5 years ago by GeneM

The same problem exists with Ubuntu 8.10 64 bit guests

comment:2 Changed 5 years ago by frank

Right. The proper fix is to edit /usr/src/vboxadd-2.0.4/r0drv/linux/spinlock-r0drv-linux.c and to move the lines which contain EXPORT_SYMBOL together with the surrounding #ifdef/#endif to the end of that file. After that, do

/usr/src/vboxadd-2.0.4/build_in_tmp \
  --save-module-symvers /tmp/vboxadd-Module.symvers \
  --no-print-directory install
/usr/src/vboxvfs-2.0.4/build_in_tmp \
  --use-module-symvers /tmp/vboxadd-Module.symvers \
  --no-print-directory install

After the next reboot, the vboxvfs module should load successfully.

comment:3 Changed 5 years ago by frank

  • Summary changed from undefined symbol in vboxvfs in opensuse x86_64 guest to undefined symbol in vboxvfs in opensuse x86_64 guest => Fixed in SVN

comment:4 follow-up: ↓ 7 Changed 5 years ago by frank

  • Summary changed from undefined symbol in vboxvfs in opensuse x86_64 guest => Fixed in SVN to Undefined symbol in vboxvfs in x86_64 guest => Fixed in SVN

comment:5 Changed 5 years ago by OxOOCOFFEE

After trying your suggestion looks like vboxvfs is loaded. But when I try to mount "mount -t vboxsf Share /mnt/Share" I get this message /sbin/mount.vboxsf: mounting failed with the error: Protocol error

Looking @ /sbin/mount.vboxsf it has date two days old. This is the day when I installed VBoxAddons. Today I did what you suggested above. Should mount.vboxsf be also rebuilded as part of above directions?

comment:6 Changed 5 years ago by frank

No, try another Share name. I remember there is a bug with certain share names. Or try

mount.vboxsf Share /mnt/Share

comment:7 in reply to: ↑ 4 Changed 5 years ago by sandbox

Thanks frank, works fine with that correction. However, I'm still wondering why these symbols are not exported in the 32 Bit versions ...
Looking forward to 2.0.6

comment:8 Changed 5 years ago by OxOOCOFFEE

I tryed to change the Share name to VboxShare (in Guesst settings beffore guesst boot) and than I tried to mount it as sudo mount -t vboxsf VBoxShare /mnt/VBoxShare/

Still same error /sbin/mount.vboxsf: mounting failed with the error: Protocol error

comment:9 Changed 5 years ago by frank

OxOOCOFFEE, in that case please attach the corresponding VBox.log file.

Changed 5 years ago by OxOOCOFFEE

Failed to mount with "sudo mount -t vboxsf VBoxShare /mnt/VBoxShare/"

comment:10 Changed 5 years ago by OxOOCOFFEE

I just changed "sudo mount -t vboxsf VBoxShare /mnt/VBoxShare/" to "sudo mount -t vboxsf FolderShare /mnt/VBoxShare/" and it worked. Looks like that Folder name has to be different than actual folder name that trying to mount to.

Here is tail of my VBox.log with error, than me changing the name and mounting again

00:00:53.956 Guest Additions capability report: (0x5) seamless: yes, hostWindowMapping: no, graphics: yes 00:02:04.910 SharedFolders host service: request to map folder /mnt/VBoxShare 00:02:04.910 SharedFolders host service: map operation result VERR_FILE_NOT_FOUND. 00:02:04.930 SharedFolders host service: request to map folder /mnt/VBoxShare 00:02:04.930 SharedFolders host service: map operation result VERR_FILE_NOT_FOUND. 00:04:22.123 SharedFolders host service: removing host mapping VBoxShare 00:04:22.123 SharedFolders host service: remove mapping result VINF_SUCCESS 00:04:22.133 SharedFolders host service: adding host mapping. 00:04:22.133 Host path C:\Users\Robert\.VirtualBox\VBoxShare, map name FolderShare, writable 1 00:04:22.133 SharedFolders host service: add mapping result VINF_SUCCESS 00:04:41.884 SharedFolders host service: request to map folder FolderShare 00:04:41.884 SharedFolders host service: map operation result VINF_SUCCESS. 00:04:41.884 Mapped to handle 0.

comment:11 Changed 5 years ago by frank

Please try

sudo strace -f -o log -s128 mount -t vboxsf VBoxShare /mnt/VBoxShare/

and have a look at the resulting log. AFAIR the options passed to mount.vboxsf are not the expected ones...

Changed 5 years ago by OxOOCOFFEE

Here is strace log for "sudo strace -f -o log -s128 mount -t vboxsf VBoxShare /mnt/VBoxShare/"

Changed 5 years ago by OxOOCOFFEE

Here is strace log for "sudo strace -f -o log -s128 mount -t vboxsf FolderShare /mnt/VBoxShare/"

comment:12 Changed 5 years ago by OxOOCOFFEE

Please note when log.error was created Folder name was VBoxShare With log.good I changed folder name to "FolderName"

Here is part of VBox.log

00:02:40.647 Host path C:\Users\Robert\.VirtualBox\VBoxShare, map name VBoxShare, writable 1 00:02:40.648 SharedFolders host service: add mapping result VINF_SUCCESS 00:02:51.240 SharedFolders host service: request to map folder /mnt/VBoxShare 00:02:51.240 SharedFolders host service: map operation result VERR_FILE_NOT_FOUND. 00:02:51.242 SharedFolders host service: request to map folder /mnt/VBoxShare 00:02:51.243 SharedFolders host service: map operation result VERR_FILE_NOT_FOUND. 00:05:27.400 SharedFolders host service: removing host mapping VBoxShare 00:05:27.400 SharedFolders host service: remove mapping result VINF_SUCCESS 00:05:27.408 SharedFolders host service: adding host mapping. 00:05:27.408 Host path C:\Users\Robert\.VirtualBox\VBoxShare, map name FolderShare, writable 1 00:05:27.408 SharedFolders host service: add mapping result VINF_SUCCESS 00:05:42.057 SharedFolders host service: request to map folder FolderShare 00:05:42.057 SharedFolders host service: map operation result VINF_SUCCESS. 00:05:42.057 Mapped to handle 0.

comment:13 Changed 5 years ago by frank

  • Status changed from new to closed
  • Resolution set to fixed

Should be fixed in 2.0.6.

comment:14 Changed 5 years ago by therp

  • Status changed from closed to reopened
  • Resolution fixed deleted

I can not confirm a fix for this in 2.0.6 in Ubuntu 8.10.

Installing the guest additions that come packaged for Ubuntu does not properly compile vboxvfs. Either the automatic way with ./sh VBoxLinuxAdditions-amd64.run nor with the manual recompile layed out in the comments above. The reason for both is that its calling dkms which is not saving Module.symvers as it seems.

I dare to reopen the ticket instead of creating an Ubuntu specific so that the context of this bug isn't lost.

comment:15 Changed 5 years ago by frank

This is correct, dkms cannot handle this condition properly. The next version will contain a work around. The temporary solution is to uninstall the dkms package for guests with >= Linux 2.6.27.

comment:16 Changed 5 years ago by sandervl73

  • Status changed from reopened to closed
  • Resolution set to fixed

comment:17 Changed 4 years ago by Barron123

Resource:  For Gotomypc

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use