summary refs log tree commit diff stats
path: root/gitlab/issues/target_missing/host_missing/accel_TCG/2634.toml
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/issues/target_missing/host_missing/accel_TCG/2634.toml')
-rw-r--r--gitlab/issues/target_missing/host_missing/accel_TCG/2634.toml185
1 files changed, 0 insertions, 185 deletions
diff --git a/gitlab/issues/target_missing/host_missing/accel_TCG/2634.toml b/gitlab/issues/target_missing/host_missing/accel_TCG/2634.toml
deleted file mode 100644
index 5899bd8d2..000000000
--- a/gitlab/issues/target_missing/host_missing/accel_TCG/2634.toml
+++ /dev/null
@@ -1,185 +0,0 @@
-id = 2634
-title = "Replay/record does not work with `rrsnapshot`/`loadvm`"
-state = "opened"
-created_at = "2024-10-21T13:18:30.992Z"
-closed_at = "n/a"
-labels = ["accel: TCG", "icount"]
-url = "https://gitlab.com/qemu-project/qemu/-/issues/2634"
-host-os = "Ubuntu 20.04.6 LTS"
-host-arch = "x86_64"
-qemu-version = "9.1.0"
-guest-os = "alpine-standard-3.20.3-x86_64.iso"
-guest-arch = "x86_64"
-description = """Qemu's record/replay feature does not properly work when using snapshots (like rrsnapshot).
-
-Record/replay without snapshotting works just fine, but when using `rrsnapshot=...` the replay is stuck at boot. `loadvm` monitor command also gets qemu stuck.
-
-Record command:
-
-```
-$ qemu-system-x86_64 \\
-  -cpu SandyBridge -smp 1 \\
-  -serial stdio -display none \\
-  -m 4096 \\
-  -drive file=./empty.qcow2,id=rr \\
-  -kernel ./boot/vmlinuz-lts \\
-  -initrd ./boot/initramfs-lts  .
-  -monitor telnet::12345,server,nowait \\
-  -append "console=ttyS0 root=/dev/ram0 alpine_dev=cdrom:iso9660 modules=loop,squashfs,sd-mod,usb-storage quiet" \\
-  -icount shift=auto,rrfile=rr,rr=record,rrsnapshot=init
-```
-
-Broken replay command, which gets qemu stuck:
-
-```
-$ qemu-system-x86_64 \\
-  -cpu SandyBridge -smp 1 \\
-  -serial stdio -display none \\
-  -m 4096 \\
-  -drive file=./empty.qcow2,id=rr \\
-  -kernel ./boot/vmlinuz-lts \\
-  -initrd ./boot/initramfs-lts  .
-  -monitor telnet::12345,server,nowait \\
-  -append "console=ttyS0 root=/dev/ram0 alpine_dev=cdrom:iso9660 modules=loop,squashfs,sd-mod,usb-storage quiet" \\
-  -icount shift=auto,rrfile=rr,rr=replay,rrsnapshot=init
-
-qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.tsc-deadline [bit 24]
-```
-
-Record/replay without `rrsnapshot`/`loadvm`/etc works as expected."""
-reproduce = """To reproduce i've used alpine linux kernel as the guest:
-
-```
-wget https://dl-cdn.alpinelinux.org/alpine/v3.20/releases/x86_64/alpine-standard-3.20.3-x86_64.iso
-7z x alpine-standard-3.20.3-x86_64.iso
-```
-
-Prerequisites - an empty qcow2 file for snapshots:
-
-```
-qemu-img create -f qcow2 empty.qcow2 1G
-```
-
-Running an alpine linux kernel with `rr=record` - works just fine, kernel boots, accepts input.
-
-```
-$ qemu-system-x86_64 \\
-  -cpu SandyBridge -smp 1 \\
-  -serial stdio -display none \\
-  -m 4096 \\
-  -drive file=./empty.qcow2,id=rr \\
-  -kernel ./boot/vmlinuz-lts \\
-  -initrd ./boot/initramfs-lts  .
-  -monitor telnet::12345,server,nowait \\
-  -append "console=ttyS0 root=/dev/ram0 alpine_dev=cdrom:iso9660 modules=loop,squashfs,sd-mod,usb-storage quiet" \\
-  -icount shift=auto,rrfile=rr,rr=record,rrsnapshot=init
-
-qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.tsc-deadline [bit 24]
-mount: mounting /dev/ram0 on /sysroot failed: Invalid argument
-Mounting root failed. 
-initramfs emergency recovery shell launched. Type 'exit' to continue boot
-sh: can't access tty; job control turned off
-~ # ls -alh
-total 32K    
-drwx------   18 root     root           0 Oct 21 13:02 .
-drwx------   18 root     root           0 Oct 21 13:02 ..
--rw-------    1 root     root           8 Oct 21 13:02 .ash_history
-drwxr-xr-x    2 root     root           0 Jun 18 12:44 .modloop
-drwxr-xr-x    2 root     root           0 Oct 21 13:02 bin
-drwxr-xr-x    9 root     root        2.5K Oct 21 13:02 dev
-drwxr-xr-x    4 root     root           0 Oct 21 13:02 etc
--rwxr-xr-x    1 root     root       25.9K Jun 18 12:44 init
-drwxr-xr-x    5 root     root           0 Jun 18 12:44 lib
-drwxr-xr-x    5 root     root           0 Jun 18 12:44 media
-drwxr-xr-x    2 root     root           0 Jun 18 12:44 newroot
-dr-xr-xr-x  114 root     root           0 Oct 21 13:02 proc
-drwx------    2 root     root           0 Sep  4 12:53 root
-drwxr-xr-x    3 root     root           0 Oct 21 13:02 run
-drwxr-xr-x    2 root     root           0 Oct 21 13:02 sbin
-dr-xr-xr-x   13 root     root           0 Oct 21 13:02 sys
-drwxr-xr-x    2 root     root           0 Oct 21 13:02 sysroot
-drwxr-xr-x    2 root     root           0 Oct 21 13:02 tmp
-drwxr-xr-x    5 root     root           0 Oct 21 13:02 usr
-drwxr-xr-x    3 root     root           0 Jun 18 12:44 var
-~ # echo "AAAAAAAA?"
-AAAAAAAA?
-~ # 
-```
-
-`rr`-file is produced, which can be used for replaying **without** `rrsnapshot`-option:
-
-```
-$ qemu-system-x86_64 \\
-  -cpu SandyBridge -smp 1 \\
-  -serial stdio -display none \\
-  -m 4096 \\
-  -drive file=./empty.qcow2,id=rr \\
-  -kernel ./boot/vmlinuz-lts \\
-  -initrd ./boot/initramfs-lts  .
-  -monitor telnet::12345,server,nowait \\
-  -append "console=ttyS0 root=/dev/ram0 alpine_dev=cdrom:iso9660 modules=loop,squashfs,sd-mod,usb-storage quiet" \\
-  -icount shift=auto,rrfile=rr,rr=replay
-
-qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.tsc-deadline [bit 24]
-mount: mounting /dev/ram0 on /sysroot failed: Invalid argument
-Mounting root failed. 
-initramfs emergency recovery shell launched. Type 'exit' to continue boot
-sh: can't access tty; job control turned off
-~ # ls -alh
-total 32K    
-drwx------   18 root     root           0 Oct 21 13:02 .
-drwx------   18 root     root           0 Oct 21 13:02 ..
--rw-------    1 root     root           8 Oct 21 13:02 .ash_history
-drwxr-xr-x    2 root     root           0 Jun 18 12:44 .modloop
-drwxr-xr-x    2 root     root           0 Oct 21 13:02 bin
-drwxr-xr-x    9 root     root        2.5K Oct 21 13:02 dev
-drwxr-xr-x    4 root     root           0 Oct 21 13:02 etc
--rwxr-xr-x    1 root     root       25.9K Jun 18 12:44 init
-drwxr-xr-x    5 root     root           0 Jun 18 12:44 lib
-drwxr-xr-x    5 root     root           0 Jun 18 12:44 media
-drwxr-xr-x    2 root     root           0 Jun 18 12:44 newroot
-dr-xr-xr-x  114 root     root           0 Oct 21 13:02 proc
-drwx------    2 root     root           0 Sep  4 12:53 root
-drwxr-xr-x    3 root     root           0 Oct 21 13:02 run
-drwxr-xr-x    2 root     root           0 Oct 21 13:02 sbin
-dr-xr-xr-x   13 root     root           0 Oct 21 13:02 sys
-drwxr-xr-x    2 root     root           0 Oct 21 13:02 sysroot
-drwxr-xr-x    2 root     root           0 Oct 21 13:02 tmp
-drwxr-xr-x    5 root     root           0 Oct 21 13:02 usr
-drwxr-xr-x    3 root     root           0 Jun 18 12:44 var
-~ # echo "AAAAAAAA?"
-AAAAAAAA?
-~ # 
-```
-
-As you can see, replaying emulation session works as expected. How ever, if I add the `rrsnapshot`-option, it gets stuck:
-
-```
-$ qemu-system-x86_64 \\
-  -cpu SandyBridge -smp 1 \\
-  -serial stdio -display none \\
-  -m 4096 \\
-  -drive file=./empty.qcow2,id=rr \\
-  -kernel ./boot/vmlinuz-lts \\
-  -initrd ./boot/initramfs-lts  .
-  -monitor telnet::12345,server,nowait \\
-  -append "console=ttyS0 root=/dev/ram0 alpine_dev=cdrom:iso9660 modules=loop,squashfs,sd-mod,usb-storage quiet" \\
-  -icount shift=auto,rrfile=rr,rr=replay,rrsnapshot=init
-
-qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.tsc-deadline [bit 24] 
-```
-
-This also can be reproduced without `rrsnapshot` option, by issuing `loadvm init` from qemu monitor:
-
-```
-$ telnet localhost 12345
-qemu> loadvm init
-...
-```
-
-Or, by using `gdb` and issuing reverse-commands that require `loadvm` to load previous state, like `reverse-stepi` or `reverse-continue`.
-
-Attaching a debugger & using debug-prints shows some thread being stuck in the [`rcu.c`](https://gitlab.com/qemu-project/qemu/-/blob/master/util/rcu.c), near the `qemu_event_wait(&rcu_call_ready_event);`. I've tried to wait for quite some time (about an hour) and there was no result."""
-additional = """**Qemu build.** Qemu binary built from sources of 9.1.0 with `--target-list=x86_64-softmmu`.
-
-**Host machine.** An almost clean Ubuntu 20.04 with necessary packages for building qemu from the latest release sources."""