VirtualBox

Ticket #11571 (closed defect: worksforme)

Opened 14 months ago

Last modified 12 months ago

mkdir() returns EEXISTS, stat() returns ENOENT in vboxsf

Reported by: zyga Owned by:
Priority: major 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) (diff)

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

comment:1 Changed 14 months ago by zyga

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 Changed 14 months ago by zyga

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 Changed 14 months ago by zyga

Reproduced on virtualbox 4.2.8

comment:4 Changed 14 months ago by galitsyn

  • Description modified (diff)

comment:5 Changed 13 months ago by galitsyn

I am currently unable to reproduce the issue. You mentioned that you use VBox from the Ubuntu archive. Have you tried to reproduce it with VBox and Additions downloaded from virtualbox.org? If not, could you please do that?

comment:6 Changed 12 months ago by galitsyn

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

Closed due to absence of reporter response.

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use