[PATCH 3/9] scripts/qemugdb: coroutine: Only attempt to restore regs in coredump
Andrey Drobyshev <[email protected]> Tue, 4 Aug 2026 18:17:37 +0300
| Newsgroups | gmane.comp.emulators.qemu |
|---|---|
| Message-ID | <[email protected]> |
When calling 'qemu bt' / 'qemu coroutine' in a live process, we get:
AttributeError: 'NoneType' object has no attribute 'restore_regs'
That's because for both commands finally: blocks attempt to restore
patched regs unconditionally. Fix this by guarding regs restoration by
'if is_coredump'.
Fixes: 42f3c143c3a0 ("scripts/qemugdb: coroutine: Add option for obtaining detailed trace in coredump")
Signed-off-by: Andrey Drobyshev <[email protected]>
---
scripts/qemugdb/coroutine.py | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/scripts/qemugdb/coroutine.py b/scripts/qemugdb/coroutine.py
index d3f31bab9fe..649579378db 100644
--- a/scripts/qemugdb/coroutine.py
+++ b/scripts/qemugdb/coroutine.py
@@ -354,7 +354,8 @@ def invoke(self, arg, from_tty):
bt_jmpbuf(coroutine_to_jmpbuf(gdb.parse_and_eval(argv[0])),
is_coredump, detailed=detailed)
finally:
- coredump.restore_regs()
+ if is_coredump:
+ coredump.restore_regs()
class CoroutineBt(gdb.Command):
__doc__ = textwrap.dedent("""\
@@ -409,7 +410,8 @@ def invoke(self, arg, from_tty):
bt_jmpbuf(coroutine_to_jmpbuf(co_ptr), is_coredump,
detailed=detailed)
finally:
- coredump.restore_regs()
+ if is_coredump:
+ coredump.restore_regs()
class CoroutineSPFunction(gdb.Function):
def __init__(self):
--
2.47.1