qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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: Wed, 27 Jun 2018 18:50:41 +0100	[thread overview]
Message-ID: <874lhow232.fsf@linaro.org> (raw)
In-Reply-To: <007f01d40c4a$e070d070$a1527150$@ru>


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 <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?

Sorry I got caught up with the pre-softfreeze rush. I'm hoping to get to
it this week.

>
>
> Pavel Dovgalyuk


--
Alex Bennée

      reply	other threads:[~2018-06-27 17:50 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
2018-06-27 17:50               ` Alex Bennée [this message]

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=874lhow232.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).