From: "Alex Bennée" <alex.bennee@linaro.org>
To: Pavel Dovgalyuk <dovgaluk@ispras.ru>
Cc: 'Pavel Dovgalyuk' <pavel.dovgaluk@ispras.ru>,
qemu-devel@nongnu.org, kwolf@redhat.com,
peter.maydell@linaro.org, war2jordan@live.com,
crosthwaite.peter@gmail.com, boost.lists@gmail.com,
quintela@redhat.com, ciro.santilli@gmail.com,
jasowang@redhat.com, mst@redhat.com, zuban32s@gmail.com,
armbru@redhat.com, maria.klimushenkova@ispras.ru,
kraxel@redhat.com, thomas.dullien@googlemail.com,
pbonzini@redhat.com, mreitz@redhat.com, dgilbert@redhat.com,
rth@twiddle.net
Subject: Re: [Qemu-devel] [PATCH v4 00/19] reverse debugging
Date: Tue, 05 Jun 2018 09:47:58 +0100 [thread overview]
Message-ID: <87fu21d3gh.fsf@linaro.org> (raw)
In-Reply-To: <001201d3fc8d$e8a06390$b9e12ab0$@ru>
Pavel Dovgalyuk <dovgaluk@ispras.ru> writes:
>> From: Alex Bennée [mailto:alex.bennee@linaro.org]
>> Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru> writes:
>>
>> > Ping?
>>
>> I started having a look but I ran into this straight away. First I
>> recorded a boot of the kernel:
>>
>> ./aarch64-softmmu/qemu-system-aarch64 -machine virt,graphics=on,gic-
>> version=3,virtualization=on -cpu cortex-a53 --serial mon:stdio -display none -kernel
>> ../images/aarch64-current-linux-initrd-guest.img -icount shift=7,rr=record,rrfile=replay.bin
>>
>> Then played back:
>>
>> ./aarch64-softmmu/qemu-system-aarch64 -machine virt,graphics=on,gic-
>> version=3,virtualization=on -cpu cortex-a53 --serial mon:stdio -display none -kernel
>> ../images/aarch64-current-linux-initrd-guest.img -icount shift=7,rr=replay,rrfile=replay.bin -
>> s -S
>
> This looks ok, but...
>
>> And did the following on gdb:
>>
>> (gdb) i
>> 0x0000000040000004 in ?? ()
>> => 0x40000004: mov x1, xzr
>> 0x40000008: mov x2, xzr
>> 0x4000000c: mov x3, xzr
>> (gdb)
>> 0x0000000040000008 in ?? ()
>> => 0x40000008: mov x2, xzr
>> 0x4000000c: mov x3, xzr
>> 0x40000010: ldr x4, 0x40000020
>> (gdb)
>> 0x000000004000000c in ?? ()
>> => 0x4000000c: mov x3, xzr
>> 0x40000010: ldr x4, 0x40000020
>> 0x40000014: br x4
>> (gdb)
>> 0x0000000040000010 in ?? ()
>> => 0x40000010: ldr x4, 0x40000020
>> 0x40000014: br x4
>> 0x40000018: .inst 0x44000000 ; undefined
>> (gdb)
>> 0x0000000040000014 in ?? ()
>> => 0x40000014: br x4
>> 0x40000018: .inst 0x44000000 ; undefined
>> 0x4000001c: .inst 0x00000000 ; undefined
>> (gdb) p/x $x4
>> $1 = 0x40080000
>> (gdb) reverse-stepi
>> warning: Remote failure reply: E14
>>
>> Surely this is the simple case and doesn't require any snapshots for
>> block devices as there are none. Am I missing something?
>
> Reverse debugging requires the snapshotting. QEMU can't revert the VM state without the snapshots.
> You can try adding an empty qcow2 image to allow snapshotting there.
I suspect a recent patch has broken locking again:
Starting program: /home/alex/lsrc/qemu/qemu.git/aarch64-softmmu/qemu-system-aarch64 -machine virt,graphics=on,gic-version=3,virtualization=on -cpu cortex-a53 --serial mon:stdio -display none -kernel ../images/aarch64-current-linux-initrd-guest.img -icount shift=7,rr=replay,rrfile=replay.bin,rrsnapshot=debug -drive file=rr.qcow2,if=none,snapshot,id=rr -s -S
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffd8536700 (LWP 32452)]
[New Thread 0x7fffd5bb3700 (LWP 32453)]
[New Thread 0x7fffd4eab700 (LWP 32454)]
**
ERROR:replay/replay-time.c:49:replay_read_clock: assertion failed: (replay_file && replay_mutex_locked())
Once I have the linux-user TCG tests merged I'm planning on focusing on
the system emulation tests and we should be able to add some
record/replay tests to defend the behaviour.
--
Alex Bennée
next prev parent reply other threads:[~2018-06-05 8:48 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-28 7:13 [Qemu-devel] [PATCH v4 00/19] reverse debugging Pavel Dovgalyuk
2018-05-28 7:13 ` [Qemu-devel] [PATCH v4 01/19] block: implement bdrv_snapshot_goto for blkreplay Pavel Dovgalyuk
2018-05-28 7:13 ` [Qemu-devel] [PATCH v4 02/19] replay: disable default snapshot for record/replay Pavel Dovgalyuk
2018-05-28 7:13 ` [Qemu-devel] [PATCH v4 03/19] replay: update docs for record/replay with block devices Pavel Dovgalyuk
2018-05-28 7:13 ` [Qemu-devel] [PATCH v4 04/19] replay: don't drain/flush bdrv queue while RR is working Pavel Dovgalyuk
2018-05-28 7:14 ` [Qemu-devel] [PATCH v4 05/19] replay: finish record/replay before closing the disks Pavel Dovgalyuk
2018-05-28 7:14 ` [Qemu-devel] [PATCH v4 06/19] qcow2: introduce icount field for snapshots Pavel Dovgalyuk
2018-05-28 7:14 ` [Qemu-devel] [PATCH v4 07/19] migration: " Pavel Dovgalyuk
2018-05-28 7:14 ` [Qemu-devel] [PATCH v4 08/19] replay: introduce info hmp/qmp command Pavel Dovgalyuk
2018-05-28 7:14 ` [Qemu-devel] [PATCH v4 09/19] replay: introduce breakpoint at the specified step Pavel Dovgalyuk
2018-05-28 7:14 ` [Qemu-devel] [PATCH v4 10/19] replay: implement replay-seek command to proceed to the desired step Pavel Dovgalyuk
2018-05-28 7:14 ` [Qemu-devel] [PATCH v4 11/19] replay: flush events when exiting Pavel Dovgalyuk
2018-05-28 7:14 ` [Qemu-devel] [PATCH v4 12/19] timer: remove replay clock probe in deadline calculation Pavel Dovgalyuk
2018-05-28 7:14 ` [Qemu-devel] [PATCH v4 13/19] replay: refine replay-time module Pavel Dovgalyuk
2018-05-28 7:14 ` [Qemu-devel] [PATCH v4 14/19] translator: fix breakpoint processing Pavel Dovgalyuk
2018-05-28 7:14 ` [Qemu-devel] [PATCH v4 15/19] replay: flush rr queue before loading the vmstate Pavel Dovgalyuk
2018-05-28 7:15 ` [Qemu-devel] [PATCH v4 16/19] gdbstub: add reverse step support in replay mode Pavel Dovgalyuk
2018-05-28 7:15 ` [Qemu-devel] [PATCH v4 17/19] gdbstub: add reverse continue " Pavel Dovgalyuk
2018-05-28 7:15 ` [Qemu-devel] [PATCH v4 18/19] replay: describe reverse debugging in docs/replay.txt Pavel Dovgalyuk
2018-05-28 7:15 ` [Qemu-devel] [PATCH v4 19/19] replay: allow loading any snapshots before recording Pavel Dovgalyuk
2018-06-04 6:43 ` [Qemu-devel] [PATCH v4 00/19] reverse debugging Pavel Dovgalyuk
2018-06-04 15:26 ` Alex Bennée
2018-06-05 5:27 ` Pavel Dovgalyuk
2018-06-05 8:01 ` Alex Bennée
2018-06-05 8:47 ` Alex Bennée [this message]
2018-06-05 9:24 ` Pavel Dovgalyuk
2018-06-05 14:55 ` Alex Bennée
2018-06-06 6:55 ` Pavel Dovgalyuk
2018-06-25 6:08 ` Pavel Dovgalyuk
2018-06-27 17:50 ` Alex Bennée
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87fu21d3gh.fsf@linaro.org \
--to=alex.bennee@linaro.org \
--cc=armbru@redhat.com \
--cc=boost.lists@gmail.com \
--cc=ciro.santilli@gmail.com \
--cc=crosthwaite.peter@gmail.com \
--cc=dgilbert@redhat.com \
--cc=dovgaluk@ispras.ru \
--cc=jasowang@redhat.com \
--cc=kraxel@redhat.com \
--cc=kwolf@redhat.com \
--cc=maria.klimushenkova@ispras.ru \
--cc=mreitz@redhat.com \
--cc=mst@redhat.com \
--cc=pavel.dovgaluk@ispras.ru \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=rth@twiddle.net \
--cc=thomas.dullien@googlemail.com \
--cc=war2jordan@live.com \
--cc=zuban32s@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).