Opened 14 years ago
Closed 8 years ago
#8463 closed defect (fixed)
Protocol error when using strip over shared folders.
| Reported by: | Alex Barker | Owned by: | |
|---|---|---|---|
| Component: | shared folders | Version: | VirtualBox 4.0.4 |
| Keywords: | Protocol error | Cc: | |
| Guest type: | Linux | Host type: | Linux |
Description (last modified by )
Steps to reproduce:
Share a folder to a Linux guest.
Copy a dll file to the share folder. (I used the taskschd.dll to test)
On the linux guest run strip /path/to/mounted/share/taskschd.dll and you get "strip:./st9tAIQu: Protocol error"
Now to prove a point copy that dll to somewhere on the guest disk, cp /path/to/mounted/share/taskschd.dll /tmp ; strip /tmp and notice that there is no error.
I have absolutely no idea why this only happens with dll files. I am able to strip shared object files without issue. I am also able to strip dll files on windows using mingw from shared folders with no issues. This happens with every dll I have tired. Both the guest and host OS are gentoo.
Change History (9)
comment:2 by , 11 years ago
I have the same problem when running Ubuntu-12.04 64 Bit VM on Ubuntu-13.10 64 Bit. strip does not work on a shared folder:
$ i686-w64-mingw32-strip zlib1.dll i686-w64-mingw32-strip:st7VXEcU: Protocol error
Module for shared folders is:
vagrant@precise64:/vagrant/nokogiri$ modinfo vboxsf filename: /lib/modules/3.2.0-23-generic/misc/vboxsf.ko version: 4.2.0 (interface 0x00010004) license: GPL author: Oracle Corporation description: Oracle VM VirtualBox VFS Module for Host File System Access srcversion: 7C0A7927C2C19F0B88EB55A depends: vboxguest vermagic: 3.2.0-23-generic SMP mod_unload modversions parm: follow_symlinks:Let host resolve symlinks rather than showing them (int)
comment:3 by , 8 years ago
| Description: | modified (diff) |
|---|---|
| Resolution: | → obsolete |
| Status: | new → closed |
Please reopen if still relevant with a recent VirtualBox release.
comment:4 by , 8 years ago
I am getting this problem as well, using MXE To CrossCompile, Strip Runs fully it appears. But fails to overwrite the file being stripped. So it exits wih an error and leaves a randomly named file in the shared folder that works fine once renamed.
x86_64-w64-mingw32.static-strip:stqcFQZL: Protocol error
cddadev@ubuntu:~$ modinfo vboxsf filename: /lib/modules/4.8.0-27-generic/kernel/ubuntu/vbox/vboxsf/vboxsf.ko version: 5.1.6_Ubuntu r110634 license: GPL author: Oracle Corporation description: Oracle VM VirtualBox VFS Module for Host File System Access srcversion: 308B21C2D1816AC5CAD8A3A depends: vboxguest intree: Y vermagic: 4.8.0-27-generic SMP mod_unload modversions parm: follow_symlinks:Let host resolve symlinks rather than showing them (int)
comment:5 by , 8 years ago
| Resolution: | obsolete |
|---|---|
| Status: | closed → reopened |
comment:6 by , 8 years ago
With VirtualBox 5.1.12 I think I've hit something similar:
https://lab.nexedi.com/nexedi/wendelin.core/issues/8#note_22095
in short: the following test program when run twice on /media/sf_shared/ gives EPROTO for read syscall:
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
void die_errno(const char *msg) {
perror(msg);
exit(1);
}
static const char data[1024] = "0123456789...........";
static char data2[1024];
int main() {
int fd, err;
off_t off;
fd = open("testfile", O_RDWR|O_CREAT|O_TRUNC, 0666);
if (fd == -1) {
die_errno("open testfile");
}
// fstat
// fstat
off = lseek(fd, 0, SEEK_SET);
if (off == -1) {
die_errno("lseek");
}
err = write(fd, data, 645);
if (err == -1) {
perror("write");
}
off = lseek(fd, 0, SEEK_SET);
if (off == -1) {
die_errno("lseek2");
}
//err = read(fd, data2, 4096);
err = read(fd, data2, 645);
if (err == -1) {
die_errno("read");
}
return 0;
}
kirr@test1:/media/sf_shared$ gcc -Wall -o vboxsf-eproto vboxsf-eproto.c kirr@test1:/media/sf_shared$ rm -f testfile kirr@test1:/media/sf_shared$ ./vboxsf-eproto # first time ok - when the file was not there initially kirr@test1:/media/sf_shared$ ./vboxsf-eproto # second time -> EPROTO on read read: Protocol error
comment:7 by , 8 years ago
kirr, thanks for the testcase. The fix for the guest additions will be available in the next VirtualBox release.
comment:8 by , 8 years ago
The most recent 5.1 and 5.0 Guest Additions on our test builds page have the fix. Could you confirm?
comment:9 by , 8 years ago
| Resolution: | → fixed |
|---|---|
| Status: | reopened → closed |
Fix is part of 5.1.14 / 5.0.32. Please upgrade the Guest Additions.


I am running into the same problem. I have not yet figured out a fix or a work-around. I am running VirtualBox 4.12 on a Mac OSX 10.8 host with a Debian Squeeze guest.
EDIT: I am using the 4.12 version of the Guest Additions as well: