QEMU-Devel Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH] replay: fix replay shutdown for console mode
@ 2020-05-22  6:45 Pavel Dovgalyuk
  2020-05-22 11:27 ` no-reply
  0 siblings, 1 reply; 2+ messages in thread
From: Pavel Dovgalyuk @ 2020-05-22  6:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: pbonzini, rth, alex.bennee, pavel.dovgaluk, dovgaluk

When QEMU is used without any graphical window,
QEMU execution is terminated with the signal (e.g., Ctrl-C).
Signal processing in QEMU does not include
qemu_system_shutdown_request call. That is why shutdown
event is not recorded by record/replay in this case.
This patch adds shutdown event to the end of the record log.
Now every replay will shutdown the machine at the end.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
---
 0 files changed

diff --git a/replay/replay.c b/replay/replay.c
index 53edad1377..83ed9e0e24 100644
--- a/replay/replay.c
+++ b/replay/replay.c
@@ -366,6 +366,11 @@ void replay_finish(void)
     /* finalize the file */
     if (replay_file) {
         if (replay_mode == REPLAY_MODE_RECORD) {
+            /*
+             * Can't do it in the signal handler, therefore
+             * add shutdown event here for the case of Ctrl-C.
+             */
+            replay_shutdown_request(SHUTDOWN_CAUSE_HOST_SIGNAL);
             /* write end event */
             replay_put_event(EVENT_END);
 



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] replay: fix replay shutdown for console mode
  2020-05-22  6:45 [PATCH] replay: fix replay shutdown for console mode Pavel Dovgalyuk
@ 2020-05-22 11:27 ` no-reply
  0 siblings, 0 replies; 2+ messages in thread
From: no-reply @ 2020-05-22 11:27 UTC (permalink / raw)
  To: Pavel.Dovgaluk
  Cc: qemu-devel, dovgaluk, pavel.dovgaluk, pbonzini, alex.bennee, rth

Patchew URL: https://patchew.org/QEMU/159012995470.27967.18129611453659045726.stgit@pasha-ThinkPad-X280/



Hi,

This series failed the docker-quick@centos7 build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
make docker-image-centos7 V=1 NETWORK=1
time make docker-test-quick@centos7 SHOW_ENV=1 J=14 NETWORK=1
=== TEST SCRIPT END ===

  TEST    iotest-qcow2: 117
socket_accept failed: Resource temporarily unavailable
**
ERROR:/tmp/qemu-test/src/tests/qtest/libqtest.c:301:qtest_init_without_qmp_handshake: assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
/tmp/qemu-test/src/tests/qtest/libqtest.c:166: kill_qemu() tried to terminate QEMU process but encountered exit status 1 (expected 0)
ERROR - Bail out! ERROR:/tmp/qemu-test/src/tests/qtest/libqtest.c:301:qtest_init_without_qmp_handshake: assertion failed: (s->fd >= 0 && s->qmp_fd >= 0)
make: *** [check-qtest-x86_64] Error 1
make: *** Waiting for unfinished jobs....
  TEST    iotest-qcow2: 120
  TEST    iotest-qcow2: 126
---
qemu-system-aarch64: cannot set up guest memory 'exynos4210.dram0': Cannot allocate memory
Broken pipe
/tmp/qemu-test/src/tests/qtest/libqtest.c:166: kill_qemu() tried to terminate QEMU process but encountered exit status 1 (expected 0)
ERROR - too few tests run (expected 66, got 4)
make: *** [check-qtest-aarch64] Error 1
  TEST    iotest-qcow2: 156
  TEST    iotest-qcow2: 158
  TEST    iotest-qcow2: 159
---
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['sudo', '-n', 'docker', 'run', '--label', 'com.qemu.instance.uuid=a6c6f5883f254d1c8850641570ca36ea', '-u', '1003', '--security-opt', 'seccomp=unconfined', '--rm', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=14', '-e', 'DEBUG=', '-e', 'SHOW_ENV=1', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/home/patchew2/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-cngmh49y/src/docker-src.2020-05-22-07.09.39.22336:/var/tmp/qemu:z,ro', 'qemu:centos7', '/var/tmp/qemu/run', 'test-quick']' returned non-zero exit status 2.
filter=--filter=label=com.qemu.instance.uuid=a6c6f5883f254d1c8850641570ca36ea
make[1]: *** [docker-run] Error 1
make[1]: Leaving directory `/var/tmp/patchew-tester-tmp-cngmh49y/src'
make: *** [docker-run-test-quick@centos7] Error 2

real    17m45.285s
user    0m8.646s


The full log is available at
http://patchew.org/logs/159012995470.27967.18129611453659045726.stgit@pasha-ThinkPad-X280/testing.docker-quick@centos7/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, back to index

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-22  6:45 [PATCH] replay: fix replay shutdown for console mode Pavel Dovgalyuk
2020-05-22 11:27 ` no-reply

QEMU-Devel Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/qemu-devel/0 qemu-devel/git/0.git
	git clone --mirror https://lore.kernel.org/qemu-devel/1 qemu-devel/git/1.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 qemu-devel qemu-devel/ https://lore.kernel.org/qemu-devel \
		qemu-devel@nongnu.org
	public-inbox-index qemu-devel

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.nongnu.qemu-devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git