summary refs log tree commit diff stats
path: root/gitlab/issues_text/target_missing/host_missing/accel_missing/2687
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-05-30 16:52:07 +0200
committerChristian Krinitsin <mail@krinitsin.com>2025-05-30 16:52:17 +0200
commit9260319e7411ff8281700a532caa436f40120ec4 (patch)
tree2f6bfe5f3458dd49d328d3a9eb508595450adec0 /gitlab/issues_text/target_missing/host_missing/accel_missing/2687
parent225caa38269323af1bfc2daadff5ec8bd930747f (diff)
downloadqemu-analysis-9260319e7411ff8281700a532caa436f40120ec4.tar.gz
qemu-analysis-9260319e7411ff8281700a532caa436f40120ec4.zip
gitlab scraper: download in toml and text format
Diffstat (limited to 'gitlab/issues_text/target_missing/host_missing/accel_missing/2687')
-rw-r--r--gitlab/issues_text/target_missing/host_missing/accel_missing/268749
1 files changed, 49 insertions, 0 deletions
diff --git a/gitlab/issues_text/target_missing/host_missing/accel_missing/2687 b/gitlab/issues_text/target_missing/host_missing/accel_missing/2687
new file mode 100644
index 000000000..cffe5d989
--- /dev/null
+++ b/gitlab/issues_text/target_missing/host_missing/accel_missing/2687
@@ -0,0 +1,49 @@
+regression in qtest clock_set/clock_step
+Description of problem:
+As of QEMU 9.0 the script included below would increment the time via qtest, but it is now broken and time doesn't seem to be updated. I do note that the QEMU sources use clock_step extensively via qtest_clock_step, but nothing seems to be using the return value so maybe that's why it hasn't been noticed?
+ 
+It seems to have been broken in bc02be4508d8753d1f6071b77d10f4661587df6f which was trying to prevent some deadlock. You can prove that this breaks it by setting a breakpoint in `qemu_virtual_clock_set_ns` -- it never gets called.
+Steps to reproduce:
+Run this python script from your QEMU build directory:
+
+```python
+#!/usr/bin/env python3
+
+import subprocess
+import socket
+import typing
+
+qemu_path = "./qemu-system-x86_64"
+
+
+def main():
+    s1, s2 = socket.socketpair()
+
+    qemu = subprocess.Popen(
+        [
+            qemu_path,
+            "-S",
+            "-display",
+            "none",
+            "-chardev", f"socket,id=qtest,fd={s1.fileno()},nodelay=on",
+            "-qtest", "chardev:qtest",
+            "-qtest-log", "/dev/fd/2",
+            "-accel", "qtest",
+        ],
+        pass_fds=[s1.fileno()],
+    )
+
+    try:
+
+        fp = s2.makefile("rw", buffering=1)
+
+        fp.write(f"clock_set 1234\n")
+        result = fp.readline()[:-1].split(" ")
+        assert result == ["OK", "1234"], f"Unexpected result: {result}"
+    finally:
+        qemu.kill()
+
+
+if __name__ == "__main__":
+    main()
+```