[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 00/19] reverse debugging
From: |
Alex Bennée |
Subject: |
Re: [Qemu-devel] [PATCH v4 00/19] reverse debugging |
Date: |
Wed, 27 Jun 2018 18:50:41 +0100 |
User-agent: |
mu4e 1.1.0; emacs 26.1.50 |
Pavel Dovgalyuk <address@hidden> writes:
>> From: Alex Bennée [mailto:address@hidden
>> Pavel Dovgalyuk <address@hidden> writes:
>>
>> >> From: Alex Bennée [mailto:address@hidden
>> >> Pavel Dovgalyuk <address@hidden> writes:
>> >>
>> >> >> From: Alex Bennée [mailto:address@hidden
>> >> >> Pavel Dovgalyuk <address@hidden> 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
- Re: [Qemu-devel] [PATCH v4 00/19] reverse debugging, Pavel Dovgalyuk, 2018/06/04
- Re: [Qemu-devel] [PATCH v4 00/19] reverse debugging, Alex Bennée, 2018/06/04
- Re: [Qemu-devel] [PATCH v4 00/19] reverse debugging, Pavel Dovgalyuk, 2018/06/05
- Re: [Qemu-devel] [PATCH v4 00/19] reverse debugging, Alex Bennée, 2018/06/05
- Re: [Qemu-devel] [PATCH v4 00/19] reverse debugging, Alex Bennée, 2018/06/05
- Re: [Qemu-devel] [PATCH v4 00/19] reverse debugging, Pavel Dovgalyuk, 2018/06/05
- Re: [Qemu-devel] [PATCH v4 00/19] reverse debugging, Alex Bennée, 2018/06/05
- Re: [Qemu-devel] [PATCH v4 00/19] reverse debugging, Pavel Dovgalyuk, 2018/06/06
- Re: [Qemu-devel] [PATCH v4 00/19] reverse debugging, Pavel Dovgalyuk, 2018/06/25
- Re: [Qemu-devel] [PATCH v4 00/19] reverse debugging,
Alex Bennée <=