tart icon indicating copy to clipboard operation
tart copied to clipboard

Mounted volumes flake with "No such file or directory"

Open fkorotkov opened this issue 1 year ago • 14 comments

There is a bug in virtiofs integration that is reported as FB12594177 (please bring attention to it if you have contacts at Apple) where "No such file or directory" can be reported for a file on the mounted volume even thought these files are there.

Here are steps to reproduce with Tart:

git clone https://github.com/devMEremenko/XcodeBenchmark
tart clone ghcr.io/cirruslabs/macos-ventura-xcode:latest ventura-xcode
ventura-xcode tart run --dir=$PWD/XcodeBenchmark ventura-xcode 

Then inside the VM you can go to "/Volumes/My Shared Files" and run "sh benchmark.sh" to simulate the load.

fkorotkov avatar Jul 26 '23 17:07 fkorotkov

@fkorotkov Would you be open to the suggestion of adding FB12594177 to OpenRadar? http://openradar.appspot.com

jlsalmon avatar Jul 28 '23 10:07 jlsalmon

@jlsalmon thanks for noting OpenRadar. Just duplicated it there.

On a side note there are bunch of reports of flakes and other bugs in virtiofs on macOS in Docker for Mac issues. Seems it's a more wide spread issue then we initially though. 😪

fkorotkov avatar Jul 28 '23 12:07 fkorotkov

I'm planning on testing out with Sonoma to see if this is still an issue. Has anyone tried it out yet?

sanieldalib avatar Sep 29 '23 00:09 sanieldalib

I did try a Sonoma host with a Ventura guest, and anecdotally experienced fewer issues with my specific workload, but non-zero, and the benchmark still failed. Have not tried a Sonoma/Sonoma pair yet.

jlsalmon avatar Sep 29 '23 20:09 jlsalmon

Same here. Tested on some Betas for both host and guest back in July and still could reproduce. 😓 Haven't tried released version though!

fkorotkov avatar Sep 29 '23 20:09 fkorotkov

Is this still an issue through the latest 14.4.1 macOS release?

sanieldalib avatar Apr 08 '24 05:04 sanieldalib

@sanieldalib, unfortunately, yes. As we understand this feature of Virtualization.Framework was envisioned for "sharing a few files from Desktop" and is not ready for heavy I/O. Right now the workaround is to use either block devices or mounting additional disks with --disk.

fkorotkov avatar Apr 08 '24 13:04 fkorotkov

@fkorotkov Thanks mate.

As we understand this feature of Virtualization.Framework was envisioned for "sharing a few files from Desktop" and is not ready for heavy I/O.

Is this based on a response from Apple on your Feedback Ticket? If so, does that mean that we should not consider directory mounting as a viable option?

sanieldalib avatar Apr 09 '24 03:04 sanieldalib

Yeah, somewhat along the lines of my Feedback Ticket. Have no information if it will be improved in the next macOS version. I wouldn't put hopes on it.

fkorotkov avatar Apr 09 '24 11:04 fkorotkov