[Lldb-commits] [lldb] 81cbc29 - [lldb/crashlog] Update frame regex matcher

Med Ismail Bennani via lldb-commits lldb-commits at lists.llvm.org
Tue Aug 9 21:02:06 PDT 2022


Author: Med Ismail Bennani
Date: 2022-08-09T21:01:37-07:00
New Revision: 81cbc294571fbcc609666ee4aeb86fbb68a7ec23

URL: https://github.com/llvm/llvm-project/commit/81cbc294571fbcc609666ee4aeb86fbb68a7ec23
DIFF: https://github.com/llvm/llvm-project/commit/81cbc294571fbcc609666ee4aeb86fbb68a7ec23.diff

LOG: [lldb/crashlog] Update frame regex matcher

This patch updates the regular expression matching stackframes in
crashlog to allow addresses that are 7 characters long and more (vs. 8
characters previously).

It changes the `0x[0-9a-fA-F]{7}[0-9a-fA-F]+` by `0x[0-9a-fA-F]{7,}`.

rdar://97684839

Differential Revision: https://reviews.llvm.org/D131032

Signed-off-by: Med Ismail Bennani <medismail.bennani at gmail.com>

Added: 
    

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

Removed: 
    


################################################################################
diff  --git a/lldb/examples/python/crashlog.py b/lldb/examples/python/crashlog.py
index 9da94b98d9cee..1d1f8ba06f377 100755
--- a/lldb/examples/python/crashlog.py
+++ b/lldb/examples/python/crashlog.py
@@ -600,11 +600,11 @@ class TextCrashLogParser:
     thread_regex = re.compile('^Thread ([0-9]+)([^:]*):(.*)')
     app_backtrace_regex = re.compile('^Application Specific Backtrace ([0-9]+)([^:]*):(.*)')
     version = r'(\(.+\)|(arm|x86_)[0-9a-z]+)\s+'
-    frame_regex = re.compile(r'^([0-9]+)' r'\s'                # id
-                             r'+(.+?)'    r'\s+'               # img_name
-                             r'(' +version+ r')?'              # img_version
-                             r'(0x[0-9a-fA-F]{7}[0-9a-fA-F]+)' # addr
-                             r' +(.*)'                         # offs
+    frame_regex = re.compile(r'^([0-9]+)' r'\s+'                # id
+                             r'(.+?)' r'\s+'                    # img_name
+                             r'(' +version+ r')?'               # img_version
+                             r'(0x[0-9a-fA-F]{7,})'             # addr (7 chars or more)
+                             r' +(.*)'                          # offs
                             )
     null_frame_regex = re.compile(r'^([0-9]+)\s+\?\?\?\s+(0{7}0+) +(.*)')
     image_regex_uuid = re.compile(r'(0x[0-9a-fA-F]+)'            # img_lo

diff  --git a/lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/a.out.crash b/lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/a.out.crash
index 27ffd9ec00156..c02150c7f15a9 100644
--- a/lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/a.out.crash
+++ b/lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/a.out.crash
@@ -31,7 +31,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)
 2   a.out                         	@main@ main + 20 (test.c:8)
-3   libdyld.dylib                 	0x0000000100000000 start + 1
+3   libdyld.dylib                 	0x1000000 start + 1
 
 Thread 0 crashed with X86 Thread State (64-bit):
   rax: 0x0000000000000000  rbx: 0x0000000000000000  rcx: 0x00007ffee42d81d0  rdx: 0x00007ffee42d8080

diff  --git a/lldb/test/Shell/ScriptInterpreter/Python/Crashlog/text.test b/lldb/test/Shell/ScriptInterpreter/Python/Crashlog/text.test
index 4e5e3fc6a5dc0..e9d1c5e98fb32 100644
--- a/lldb/test/Shell/ScriptInterpreter/Python/Crashlog/text.test
+++ b/lldb/test/Shell/ScriptInterpreter/Python/Crashlog/text.test
@@ -9,4 +9,5 @@
 # CHECK: [  0] {{.*}}out`foo + 16 at test.c
 # CHECK: [  1] {{.*}}out`bar + 8 at test.c
 # CHECK: [  2] {{.*}}out`main + 19 at test.c
+# CHECK: [  3] 0x{{[0]+}}1000000 start + 1
 # CHECK: rbp = 0x00007ffee42d8020


        


More information about the lldb-commits mailing list