#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)
Change History (20)
comment:1 by , 16 years ago
comment:2 by , 16 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 , 16 years ago
Summary: | undefined symbol in vboxvfs in opensuse x86_64 guest → undefined symbol in vboxvfs in opensuse x86_64 guest => Fixed in SVN |
---|
follow-up: 7 comment:4 by , 16 years ago
Summary: | undefined symbol in vboxvfs in opensuse x86_64 guest => Fixed in SVN → Undefined symbol in vboxvfs in x86_64 guest => Fixed in SVN |
---|
comment:5 by , 16 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 , 16 years ago
No, try another Share name. I remember there is a bug with certain share names. Or try
mount.vboxsf Share /mnt/Share
comment:7 by , 16 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 , 16 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
by , 16 years ago
Failed to mount with "sudo mount -t vboxsf VBoxShare /mnt/VBoxShare/"
comment:10 by , 16 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 , 16 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 , 16 years ago
Here is strace log for "sudo strace -f -o log -s128 mount -t vboxsf VBoxShare /mnt/VBoxShare/"
by , 16 years ago
Here is strace log for "sudo strace -f -o log -s128 mount -t vboxsf FolderShare /mnt/VBoxShare/"
comment:12 by , 16 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:14 by , 16 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
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 , 16 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 , 16 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
The same problem exists with Ubuntu 8.10 64 bit guests