diff --git a/scripts/coredump/coredump_parser/log_parser.py b/scripts/coredump/coredump_parser/log_parser.py index 889cfb033bfb..409ee7ff568c 100644 --- a/scripts/coredump/coredump_parser/log_parser.py +++ b/scripts/coredump/coredump_parser/log_parser.py @@ -62,6 +62,7 @@ def __init__(self, logfile): self.log_hdr = None self.arch_data = list() self.memory_regions = list() + self.threads_metadata = {"hdr_ver" : None, "data" : None} def open(self): self.fd = open(self.logfile, "rb") diff --git a/scripts/coredump/gdbstubs/gdbstub.py b/scripts/coredump/gdbstubs/gdbstub.py index 2fa37303d1e5..07d019ae9008 100644 --- a/scripts/coredump/gdbstubs/gdbstub.py +++ b/scripts/coredump/gdbstubs/gdbstub.py @@ -179,6 +179,11 @@ def handle_general_query_packet(self, pkt): # For packets qfThreadInfo/qsThreadInfo, obtain a list of all active thread IDs if pkt[0:12] == b"qfThreadInfo": threads_metadata_data = self.logfile.get_threads_metadata()["data"] + + if threads_metadata_data is None: + self.put_gdb_packet(b"l") + return + size_t_size = self.elffile.get_kernel_thread_info_size_t_size() # First, find and store the thread that _kernel considers current