diff options
Diffstat (limited to 'gitlab/issues_text/target_missing/host_missing/accel_missing/2179')
| -rw-r--r-- | gitlab/issues_text/target_missing/host_missing/accel_missing/2179 | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/gitlab/issues_text/target_missing/host_missing/accel_missing/2179 b/gitlab/issues_text/target_missing/host_missing/accel_missing/2179 deleted file mode 100644 index a04432f38..000000000 --- a/gitlab/issues_text/target_missing/host_missing/accel_missing/2179 +++ /dev/null @@ -1,51 +0,0 @@ -qemu-storage-daemon: fuse export deadlock -Steps to 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 information: -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 -``` |