mib created this revision.
mib added reviewers: kastiglione, JDevlieghere.
mib added a project: LLDB.
Herald added a project: All.
mib requested review of this revision.
Herald added a subscriber: lldb-commits.

It can happen that the originator of a crash report doesn't have access
to certain images. When that's the case, ReportCrash won't show the
source info in the crash report stack frames, but only the stack address
and image name.

This patch fixes a bug in the crashlog stackframe parser regular
expression to optionally match the source info group.

rdar://101934135

Signed-off-by: Med Ismail Bennani <medismail.benn...@gmail.com>


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D137466

Files:
  lldb/examples/python/crashlog.py
  lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/a.out.crash


Index: lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/a.out.crash
===================================================================
--- lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/a.out.crash
+++ lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/a.out.crash
@@ -29,7 +29,7 @@
 
 Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
 0   a.out                              @foo@ foo + 16 (test.c:3)
-1   a.out                              @bar@ bar + 9 (test.c:6)
+1   a.out                              @bar@
 2   a.out                              @main@ main + 20 (test.c:8)
 3   libdyld.dylib                      0x1000000 start + 1
 
Index: lldb/examples/python/crashlog.py
===================================================================
--- lldb/examples/python/crashlog.py
+++ lldb/examples/python/crashlog.py
@@ -645,7 +645,7 @@
                              r'(.+?)\s+'               # img_name
                              r'(?:' +version+ r'\s+)?' # img_version
                              r'(0x[0-9a-fA-F]{4,})'    # addr (4 chars or more)
-                             r' +(.*)'                 # offs
+                             r'(?: +(.*))?'            # offs
                             )
     null_frame_regex = re.compile(r'^\d+\s+\?\?\?\s+0{4,} +')
     image_regex_uuid = re.compile(r'(0x[0-9a-fA-F]+)'          # img_lo


Index: lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/a.out.crash
===================================================================
--- lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/a.out.crash
+++ lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/a.out.crash
@@ -29,7 +29,7 @@
 
 Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
 0   a.out                         	@foo@ foo + 16 (test.c:3)
-1   a.out                         	@bar@ bar + 9 (test.c:6)
+1   a.out                         	@bar@
 2   a.out                         	@main@ main + 20 (test.c:8)
 3   libdyld.dylib                 	0x1000000 start + 1
 
Index: lldb/examples/python/crashlog.py
===================================================================
--- lldb/examples/python/crashlog.py
+++ lldb/examples/python/crashlog.py
@@ -645,7 +645,7 @@
                              r'(.+?)\s+'               # img_name
                              r'(?:' +version+ r'\s+)?' # img_version
                              r'(0x[0-9a-fA-F]{4,})'    # addr (4 chars or more)
-                             r' +(.*)'                 # offs
+                             r'(?: +(.*))?'            # offs
                             )
     null_frame_regex = re.compile(r'^\d+\s+\?\?\?\s+0{4,} +')
     image_regex_uuid = re.compile(r'(0x[0-9a-fA-F]+)'          # img_lo
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
  • [Lldb-commits] [PATCH]... Med Ismail Bennani via Phabricator via lldb-commits

Reply via email to