VirtualBox

Opened 15 years ago

Closed 15 years ago

Last modified 14 years ago

#2550 closed defect (fixed)

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

Reported by: sandbox Owned by:
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 (3)

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

Download all attachments as: .zip

Change History (20)

comment:1 by GeneM, 15 years ago

The same problem exists with Ubuntu 8.10 64 bit guests

comment:2 by Frank Mehnert, 15 years ago

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 by Frank Mehnert, 15 years ago

Summary: undefined symbol in vboxvfs in opensuse x86_64 guestundefined symbol in vboxvfs in opensuse x86_64 guest => Fixed in SVN

comment:4 by Frank Mehnert, 15 years ago

Summary: undefined symbol in vboxvfs in opensuse x86_64 guest => Fixed in SVNUndefined symbol in vboxvfs in x86_64 guest => Fixed in SVN

comment:5 by oxoocoffee, 15 years ago

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 by Frank Mehnert, 15 years ago

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

mount.vboxsf Share /mnt/Share

in reply to:  4 comment:7 by sandbox, 15 years ago

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 by oxoocoffee, 15 years ago

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 by Frank Mehnert, 15 years ago

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

by oxoocoffee, 15 years ago

Attachment: VBox.log added

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

comment:10 by oxoocoffee, 15 years ago

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 by Frank Mehnert, 15 years ago

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...

by oxoocoffee, 15 years ago

Attachment: log.error added

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

by oxoocoffee, 15 years ago

Attachment: log.good added

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

comment:12 by oxoocoffee, 15 years ago

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 by Frank Mehnert, 15 years ago

Resolution: fixed
Status: newclosed

Should be fixed in 2.0.6.

comment:14 by Clemens Fruhwirth, 15 years ago

Resolution: fixed
Status: closedreopened

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 by Frank Mehnert, 15 years ago

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 by Sander van Leeuwen, 15 years ago

Resolution: fixed
Status: reopenedclosed

comment:17 by Barron123, 14 years ago

Resource: For Gotomypc

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use