Continuous Execution of Mapping Writing in Google Breakpad Integration

12 views
Skip to first unread message

gokul raj

unread,
Jan 3, 2024, 11:07:51 AMJan 3
to Google Breakpad Discuss
Hi,

I am currently facing a process hang issue where the old PID is not terminated. Here's an example:
/mnt/ramdisk/root # pidof test
1309
/mnt/ramdisk/root # kill -11 1309
/mnt/ramdisk/root # pidof test
21569 1309



I have integrated Google Breakpad (tag: v2023.01.27) into the test application, following the steps outlined in this guide: [Linux Starter Guide](https://chromium.googlesource.com/breakpad/breakpad/+/master/docs/linux_starter_guide.md).

I added some prints in the `ThreadEntry` function of Google Breakpad, and upon analysis, I found that the following part of the code in `minidump_writer.cc` is executing continuously:

// First write all the mappings from the dumper
unsigned int j = 0;
for (unsigned i = 0; i < num_mappings; ++i) {
  const MappingInfo& mapping = *dumper_->mappings()[i];
  if (!ShouldIncludeMapping(mapping) || HaveMappingInfo(mapping))
    continue;

  MDRawModule mod;
  if (!FillRawModule(mapping, true, i, &mod, NULL))
    return false;
  list.CopyIndexAfterObject(j++, &mod, MD_MODULE_SIZE);
}

Could you please help me understand why this part is executing continuously?
Let me know if you have any further questions or need additional information.
Reply all
Reply to author
Forward
0 new messages