summary refs log tree commit diff stats
path: root/gitlab/issues/target_missing/host_missing/accel_missing/2179.toml
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/issues/target_missing/host_missing/accel_missing/2179.toml')
-rw-r--r--gitlab/issues/target_missing/host_missing/accel_missing/2179.toml61
1 files changed, 61 insertions, 0 deletions
diff --git a/gitlab/issues/target_missing/host_missing/accel_missing/2179.toml b/gitlab/issues/target_missing/host_missing/accel_missing/2179.toml
new file mode 100644
index 00000000..28e26cb5
--- /dev/null
+++ b/gitlab/issues/target_missing/host_missing/accel_missing/2179.toml
@@ -0,0 +1,61 @@
+id = 2179
+title = "qemu-storage-daemon: fuse export deadlock"
+state = "opened"
+created_at = "2024-02-19T23:58:34.115Z"
+closed_at = "n/a"
+labels = ["Storage", "kind::Bug"]
+url = "https://gitlab.com/qemu-project/qemu/-/issues/2179"
+host-os = "Arch Linux"
+host-arch = "x86_64"
+qemu-version = "8.2.1"
+guest-os = "n/a"
+guest-arch = "n/a"
+description = "n/a"
+reproduce = """1. Start QSD
+2. Issue a `block-stream` and a read from the fuse export at the same time 
+
+```
+Term 1:
+(QEMU) block-stream device=root job-id=job1
+{"return": {}}
+(QEMU) 
+{'timestamp': {'seconds': 1708386076, 'microseconds': 965781}, 'event': 'JOB_STATUS_CHANGE', 'data': {'status': 'created', 'id': 'job1'}}
+{'timestamp': {'seconds': 1708386076, 'microseconds': 965838}, 'event': 'JOB_STATUS_CHANGE', 'data': {'status': 'running', 'id': 'job1'}}
+(QEMU) 
+(QEMU) 
+(QEMU) 
+(QEMU) query-block-jobs
+
+<HANGS>
+
+
+Term 2:
+dd if=/tmp/fuse_exp of=/dev/null bs=1M skip=2000
+<HANGS>
+```
+
+```
+$ pidof qemu-storage-daemon 
+ 92313
+$ sudo cat /proc/92313/task/92313/stack 
+[<0>] do_sys_poll+0x4e1/0x5d0
+[<0>] __x64_sys_ppoll+0xe2/0x170
+[<0>] do_syscall_64+0x64/0xe0
+[<0>] entry_SYSCALL_64_after_hwframe+0x6e/0x76
+
+$ sudo cat /proc/92313/task/92314/stack 
+[<0>] futex_wait_queue+0x63/0x90
+[<0>] __futex_wait+0x14f/0x1c0
+[<0>] futex_wait+0x77/0x110
+[<0>] do_futex+0xcb/0x190
+[<0>] __x64_sys_futex+0x129/0x1e0
+[<0>] do_syscall_64+0x64/0xe0
+[<0>] entry_SYSCALL_64_after_hwframe+0x6e/0x76
+```"""
+additional = """This might also be a general between `block-stream` and `copy-on-read` but I could only trigger the problem with FUSE and not NBD. E.g this command does not deadlock:
+```
+--export type=nbd,id=nbd-root,node-name=root_crw,name=root_crw,writable=off 
+
+nbdfuse /tmp/tmp.69dRvNXj1O/disk nbd://localhost:10809/root_crw
+dd if=/tmp/tmp.69dRvNXj1O/disk of=/dev/null bs=1M skip=2000
+```"""