summary refs log tree commit diff stats
path: root/gitlab/issues_toml/target_missing/host_missing/accel_missing/1010.toml
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/issues_toml/target_missing/host_missing/accel_missing/1010.toml')
-rw-r--r--gitlab/issues_toml/target_missing/host_missing/accel_missing/1010.toml86
1 files changed, 86 insertions, 0 deletions
diff --git a/gitlab/issues_toml/target_missing/host_missing/accel_missing/1010.toml b/gitlab/issues_toml/target_missing/host_missing/accel_missing/1010.toml
new file mode 100644
index 000000000..6b69d982d
--- /dev/null
+++ b/gitlab/issues_toml/target_missing/host_missing/accel_missing/1010.toml
@@ -0,0 +1,86 @@
+id = 1010
+title = "Errors on 9p mounts"
+state = "closed"
+created_at = "2022-04-30T14:10:34.834Z"
+closed_at = "2022-09-07T14:46:55.112Z"
+labels = ["block:9p"]
+url = "https://gitlab.com/qemu-project/qemu/-/issues/1010"
+host-os = "macOS (Monterey 12.3.1 (21E258))"
+host-arch = "M1"
+qemu-version = "7.0.0"
+guest-os = "Ubuntu 22.04"
+guest-arch = "aarch64"
+description = """I'm trying to run Docker VMs with [Lima](https://github.com/lima-vm/lima), which uses QEMU. I'm trying to expose my home directory on macOS to the Ubuntu VM using `9p`. This is how the mount point looks like inside the Ubuntu VM:
+
+```
+root@lima-docker:~# mount | grep Users
+mount0 on /Users/carlos type 9p (rw,relatime,dirsync,fscache,cachetag=4294894070,access=user,trans=virtio,version=9p2000.u)
+root@lima-docker:~#
+```
+
+The problem I'm seeing is that doing an `ls -l /Users/carlos` gives a "Timer expired" error, and no output:
+
+```
+root@lima-docker:~# ls -l /Users/carlos
+ls: reading directory '/Users/carlos': Timer expired
+total 0
+```
+
+Under `strace`, it seems that the timer error is raised by the `getdents64` system call:
+
+```
+root@lima-docker:~# strace -f ls -l /Users/carlos
+[..]
+openat(AT_FDCWD, "/Users/carlos", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3
+newfstatat(3, "", {st_mode=S_IFDIR|0755, st_size=1984, ...}, AT_EMPTY_PATH) = 0
+mmap(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xffffa16bf000
+getdents64(3, 0xffffa16bf040, 131072)   = -1 ETIME (Timer expired)
+[..]
+```
+
+I've also tried the `9p2000.L` protocol instead, and the results are a bit better. I do get a directory listing, but I see "xxx" errors:
+
+```
+root@lima-docker:~# ls -l /Users/carlos
+ls: /Users/carlos: Network dropped connection on reset
+ls: /Users/carlos/Music: Network dropped connection on reset
+ls: /Users/carlos/Pictures: Network dropped connection on reset
+ls: /Users/carlos/Desktop: Network dropped connection on reset
+ls: /Users/carlos/Library: Network dropped connection on reset
+ls: /Users/carlos/Public: Network dropped connection on reset
+ls: /Users/carlos/Movies: Network dropped connection on reset
+ls: /Users/carlos/Applications: Network dropped connection on reset
+ls: /Users/carlos/Dropbox: Network dropped connection on reset
+ls: /Users/carlos/Maildir: Network dropped connection on reset
+ls: /Users/carlos/Documents: Network dropped connection on reset
+ls: /Users/carlos/Downloads: Network dropped connection on reset
+total 0
+drwx------   5 carlos dialout  160 Dec  6 10:31  Applications
+drwx------   4 carlos dialout  128 Apr 28 14:40  Desktop
+drwx------  12 carlos dialout  384 Apr 30 08:44  Documents
+drwx------ 164 carlos dialout 5248 Apr 29 13:50  Downloads
+drwx------   8 carlos dialout  256 Sep  4  2021  Dropbox
+drwx------  82 carlos dialout 2624 Apr  8 14:05  Library
+drwxr-xr-x   3 carlos dialout   96 Nov 12 12:28  Maildir
+drwx------   4 carlos dialout  128 Jul 19  2021  Movies
+drwx------   4 carlos dialout  128 Aug 19  2021  Music
+drwx------   4 carlos dialout  128 Jul 19  2021  Pictures
+drwxr-xr-x   4 carlos dialout  128 Jul 19  2021  Public
+```
+
+The errors in this case seem to come from the `lgetxattr`system call:
+
+```
+root@lima-docker:~# strace -f ls -l /Users/carlos
+[..]
+statx(AT_FDCWD, "/Users/carlos/Downloads", AT_STATX_SYNC_AS_STAT|AT_SYMLINK_NOFOLLOW, STATX_MODE|STATX_NLINK|STATX_UID|STATX_GID|STATX_MTIME|STATX_SIZE, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFDIR|0700, stx_size=5248, ...}) = 0
+lgetxattr("/Users/carlos/Downloads", "security.selinux", 0xaaaaec72da70, 255) = -1 ENETRESET (Network dropped connection on reset)
+write(2, "ls: ", 4ls: )                     = 4
+write(2, "/Users/carlos/Downloads", 23/Users/carlos/Downloads) = 23
+write(2, ": Network dropped connection on "..., 37: Network dropped connection on reset) = 37
+[..]
+```
+
+I've reported this to the Lima folks at https://github.com/lima-vm/lima/issues/831, and they suggested opening an issue here. Any ideas?"""
+reproduce = """1. If you have Lima installed (I'm using version 0.10.0): `limactl start --name=docker ./lima-templates/docker.yaml`"""
+additional = """"""