VirtualBox

Opened 11 years ago

Last modified 11 years ago

#11571 closed defect

mkdir() returns EEXISTS, stat() returns ENOENT in vboxsf — at Version 4

Reported by: zyga Owned by:
Component: shared folders Version: VirtualBox 4.1.22
Keywords: mkdir stat EEXISTS ENOENT Cc:
Guest type: Linux Host type: Linux

Description (last modified by galitsyn)

This occurred on Ubuntu 13.04 with VirtualBox 4.1.22 from the Ubuntu archive.

In essence, in certain non-root directory of a vboxsf mounted directory, mkdir() returns EEXIST while stat() returns ENOENT, as shown by this strace snippet below:

mkdir("plainbox.egg-info", 0777)        = -1 EEXIST (File exists)
stat64("plainbox.egg-info", 0xbfd696fc) = -1 ENOENT (No such file or directory)
write(2, "error: could not create 'plainbo"..., 57error: could not create 'plainbox.egg-info': File exists

I wrote a minimal program that reproduces the issue: https://gist.github.com/zyga/5110513

Feel free to ask for more information

Change History (4)

comment:1 by zyga, 11 years ago

This can be only reproduced with host kernel 3.8.0-8 (from ubuntu raring), 3.8.0-10 seems to work okay

comment:2 by zyga, 11 years ago

Comment 1 is incorrect. The bug still exists on -10 and -11 kernels.

I've published a long blog post about it: http://blog.suxx.pl/2013/03/post-mortem-chasing-elusive-bugs.html

As stated in one of the latter comments the suspected sequence of actions that trigger the bug is:

1) [host] start a VM 2) [host] share a folder 3) [guest] create directory in shared folder 4) [host] remove the directory in shared folder 5) [guest] observe the bug

comment:3 by zyga, 11 years ago

Reproduced on virtualbox 4.2.8

comment:4 by galitsyn, 11 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use