qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Pavel Dovgalyuk" <dovgaluk@ispras.ru>
To: "'Alex Bennée'" <alex.bennee@linaro.org>
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: Mon, 25 Jun 2018 09:08:02 +0300	[thread overview]
Message-ID: <007f01d40c4a$e070d070$a1527150$@ru> (raw)
In-Reply-To: <87bmcpcmfa.fsf@linaro.org>

> From: Alex Bennée [mailto:alex.bennee@linaro.org]
> Pavel Dovgalyuk <dovgaluk@ispras.ru> writes:
> 
> >> From: Alex Bennée [mailto:alex.bennee@linaro.org]
> >> 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())
> >
> > Have you recorded it with the attached disk before replaying?
> 
> Yes. I assume the -drive doesn't actually have to be visible to the
> guest, it's just the mechanism rr needs for saving snapshots?
> 
> > Are you using the latest version?
> > If the both answers are 'yes', then can you share the kernel? My i386
> > runs work normally.
> 
> I'll have a go with x86 first as aarch64 hasn't been proven yet.

Any news about that?


Pavel Dovgalyuk

  parent reply	other threads:[~2018-06-25  6:08 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
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 [this message]
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='007f01d40c4a$e070d070$a1527150$@ru' \
    --to=dovgaluk@ispras.ru \
    --cc=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=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).