[Lldb-commits] [PATCH] D141702: [lldb/crashlog] Make module loading use Scripted Process affordance

Med Ismail Bennani via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Fri Jan 20 16:50:38 PST 2023


mib added inline comments.


================
Comment at: lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp:537-543
+  for (size_t i = 0; i < loaded_images_sp->GetSize(); i++)
+    if (loaded_images_sp->GetItemAtIndexAsDictionary(i, item))
+      task_group.async(fetch_symbols, item);
+  task_group.wait();
+
+  if (!loaded_images_sp->ForEach(load_modules))
+    return {};
----------------
This is not behaving as expected:

1. During the symbol fetching stage (in parallel), I can see from the progress report messages that it goes pretty fast originally, but when it gets close to end, it gets stuck for few seconds. When I profile LLDB at that point, I can still see multiple calls to `DownloadObjectAndSymbolFile` which lets me think that the progress reporting doesn't reflect the completion of the symbol fetching but rather just to the creation of `dsymForUUID` process.

2. I don't know if this is related to 1. but for some reason, when I try to load the modules, only the module executable gets reloaded. I need to investigate more but may be @JDevlieghere you can see a problem with this implementation ?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D141702/new/

https://reviews.llvm.org/D141702



More information about the lldb-commits mailing list