diff options
| author | Christian Krinitsin <mail@krinitsin.com> | 2025-05-30 16:52:07 +0200 |
|---|---|---|
| committer | Christian Krinitsin <mail@krinitsin.com> | 2025-05-30 16:52:17 +0200 |
| commit | 9260319e7411ff8281700a532caa436f40120ec4 (patch) | |
| tree | 2f6bfe5f3458dd49d328d3a9eb508595450adec0 /gitlab/issues_text/target_missing/host_missing/accel_missing/2687 | |
| parent | 225caa38269323af1bfc2daadff5ec8bd930747f (diff) | |
| download | qemu-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/2687 | 49 |
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() +``` |