Message ID | 20180131104120.16708-1-marcandre.lureau@redhat.com |
---|---|
State | New |
Headers | show |
Series | dump-guest-memory.py: skip vmcoreinfo section if not available | expand |
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>
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):
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(+)