* [Qemu-devel] [PATCH] dump-guest-memory.py: skip vmcoreinfo section if not available
@ 2018-01-31 10:41 Marc-André Lureau
2018-01-31 10:47 ` Laszlo Ersek
0 siblings, 1 reply; 2+ messages in thread
From: Marc-André Lureau @ 2018-01-31 10:41 UTC (permalink / raw)
To: qemu-devel; +Cc: lersek, Marc-André Lureau, Eduardo Habkost, Cleber Rosa
On some architectures, qemu doesn't support vmcoreinfo device,
and dump-guest-memory fails:
(gdb) dump-guest-memory /tmp/vmcore ppc64-le
guest RAM blocks:
target_start target_end host_addr message count
---------------- ---------------- ---------------- ------- -----
0000000000000000 0000000200000000 00003ffd86980000 added 1
0000200080000000 0000200080800000 00003ffd86170000 added 2
Python Exception <class 'gdb.error'> No symbol "vmcoreinfo_realize" in current context.:
Error occurred in Python command: No symbol "vmcoreinfo_realize" in current context.
Check that vmcoreinfo_realize symbol exists before evaluating an
expression with it.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
scripts/dump-guest-memory.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/scripts/dump-guest-memory.py b/scripts/dump-guest-memory.py
index 03fbf69f8a..51acfcd0c0 100644
--- a/scripts/dump-guest-memory.py
+++ b/scripts/dump-guest-memory.py
@@ -546,6 +546,8 @@ shape and this command should mostly work."""
return None
def add_vmcoreinfo(self):
+ if gdb.lookup_symbol("vmcoreinfo_realize")[0] is None:
+ return
vmci = 'vmcoreinfo_realize::vmcoreinfo_state'
if not gdb.parse_and_eval("%s" % vmci) \
or not gdb.parse_and_eval("(%s)->has_vmcoreinfo" % vmci):
--
2.16.0.rc1.1.gef27df75a1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Qemu-devel] [PATCH] dump-guest-memory.py: skip vmcoreinfo section if not available
2018-01-31 10:41 [Qemu-devel] [PATCH] dump-guest-memory.py: skip vmcoreinfo section if not available Marc-André Lureau
@ 2018-01-31 10:47 ` Laszlo Ersek
0 siblings, 0 replies; 2+ messages in thread
From: Laszlo Ersek @ 2018-01-31 10:47 UTC (permalink / raw)
To: Marc-André Lureau, qemu-devel; +Cc: Eduardo Habkost, Cleber Rosa
On 01/31/18 11:41, Marc-André Lureau wrote:
> On some architectures, qemu doesn't support vmcoreinfo device,
> and dump-guest-memory fails:
>
> (gdb) dump-guest-memory /tmp/vmcore ppc64-le
> guest RAM blocks:
> target_start target_end host_addr message count
> ---------------- ---------------- ---------------- ------- -----
> 0000000000000000 0000000200000000 00003ffd86980000 added 1
> 0000200080000000 0000200080800000 00003ffd86170000 added 2
> Python Exception <class 'gdb.error'> No symbol "vmcoreinfo_realize" in current context.:
> Error occurred in Python command: No symbol "vmcoreinfo_realize" in current context.
>
> Check that vmcoreinfo_realize symbol exists before evaluating an
> expression with it.
>
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
> scripts/dump-guest-memory.py | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/scripts/dump-guest-memory.py b/scripts/dump-guest-memory.py
> index 03fbf69f8a..51acfcd0c0 100644
> --- a/scripts/dump-guest-memory.py
> +++ b/scripts/dump-guest-memory.py
> @@ -546,6 +546,8 @@ shape and this command should mostly work."""
> return None
>
> def add_vmcoreinfo(self):
> + if gdb.lookup_symbol("vmcoreinfo_realize")[0] is None:
> + return
> vmci = 'vmcoreinfo_realize::vmcoreinfo_state'
> if not gdb.parse_and_eval("%s" % vmci) \
> or not gdb.parse_and_eval("(%s)->has_vmcoreinfo" % vmci):
>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-01-31 10:47 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-31 10:41 [Qemu-devel] [PATCH] dump-guest-memory.py: skip vmcoreinfo section if not available Marc-André Lureau
2018-01-31 10:47 ` Laszlo Ersek
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).