-
Notifications
You must be signed in to change notification settings - Fork 11.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[lldb] Pass important options to dsymForUUID #72669
Conversation
On macOS, we usually use the DebugSymbols framework to find dSYMs, but we have a few places (including crashlog.py) that calls out directly to dsymForUUID. Currently, this invocation is missing two important options: * `--ignoreNegativeCache`: Poor network connectivity or lack of VPN can lead to a negative cache hit. Avoiding those issues is worth the penalty of skipping these caches. * `--copyExecutable`: Ensure we copy the executable as it might not be available at its original location. rdar://118480731
@llvm/pr-subscribers-lldb Author: Jonas Devlieghere (JDevlieghere) ChangesOn macOS, we usually use the DebugSymbols framework to find dSYMs, but we have a few places (including crashlog.py) that calls out directly to dsymForUUID. Currently, this invocation is missing two important options:
rdar://118480731 Full diff: https://github.com/llvm/llvm-project/pull/72669.diff 1 Files Affected:
diff --git a/lldb/examples/python/crashlog.py b/lldb/examples/python/crashlog.py
index cb8008419404c23..9e4f94264037aea 100755
--- a/lldb/examples/python/crashlog.py
+++ b/lldb/examples/python/crashlog.py
@@ -356,7 +356,11 @@ def locate_module_and_debug_symbols(self):
# Keep track of unresolved source paths.
unavailable_source_paths = set()
if os.path.exists(self.dsymForUUIDBinary):
- dsym_for_uuid_command = "%s %s" % (self.dsymForUUIDBinary, uuid_str)
+ dsym_for_uuid_command = (
+ "{} --copyExecutable --ignoreNegativeCache {}".format(
+ self.dsymForUUIDBinary, uuid_str
+ )
+ )
s = subprocess.check_output(dsym_for_uuid_command, shell=True)
if s:
try:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Thanks!
On macOS, we usually use the DebugSymbols framework to find dSYMs, but we have a few places (including crashlog.py) that calls out directly to dsymForUUID. Currently, this invocation is missing two important options: * `--ignoreNegativeCache`: Poor network connectivity or lack of VPN can lead to a negative cache hit. Avoiding those issues is worth the penalty of skipping these caches. * `--copyExecutable`: Ensure we copy the executable as it might not be available at its original location. rdar://118480731
On macOS, we usually use the DebugSymbols framework to find dSYMs, but we have a few places (including crashlog.py) that calls out directly to dsymForUUID. Currently, this invocation is missing two important options: * `--ignoreNegativeCache`: Poor network connectivity or lack of VPN can lead to a negative cache hit. Avoiding those issues is worth the penalty of skipping these caches. * `--copyExecutable`: Ensure we copy the executable as it might not be available at its original location. rdar://118480731
On macOS, we usually use the DebugSymbols framework to find dSYMs, but we have a few places (including crashlog.py) that calls out directly to dsymForUUID. Currently, this invocation is missing two important options: * `--ignoreNegativeCache`: Poor network connectivity or lack of VPN can lead to a negative cache hit. Avoiding those issues is worth the penalty of skipping these caches. * `--copyExecutable`: Ensure we copy the executable as it might not be available at its original location. rdar://118480731 (cherry picked from commit ec6a34e)
[lldb] Pass important options to dsymForUUID (llvm#72669)
On macOS, we usually use the DebugSymbols framework to find dSYMs, but we have a few places (including crashlog.py) that calls out directly to dsymForUUID. Currently, this invocation is missing two important options:
--ignoreNegativeCache
: Poor network connectivity or lack of VPN can lead to a negative cache hit. Avoiding those issues is worth the penalty of skipping these caches.--copyExecutable
: Ensure we copy the executable as it might not be available at its original location.rdar://118480731