mib created this revision. mib added reviewers: bulbazord, kastiglione. mib added a project: LLDB. Herald added a subscriber: JDevlieghere. Herald added a project: All. mib requested review of this revision. Herald added a subscriber: lldb-commits.
This patch should fix a crash in the opening a crash report that was passed with a relative path. This patch expands the crash report path before parsing it and raises a `FileNotFoundError` exception if the file doesn't exist. Signed-off-by: Med Ismail Bennani <ism...@bennani.ma> Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D152012 Files: lldb/examples/python/crashlog.py Index: lldb/examples/python/crashlog.py =================================================================== --- lldb/examples/python/crashlog.py +++ lldb/examples/python/crashlog.py @@ -1346,13 +1346,7 @@ print(error) -def load_crashlog_in_scripted_process(debugger, crash_log_file, options, result): - crashlog_path = os.path.expanduser(crash_log_file) - if not os.path.exists(crashlog_path): - raise InteractiveCrashLogException( - "crashlog file %s does not exist" % crashlog_path - ) - +def load_crashlog_in_scripted_process(debugger, crashlog_path, options, result): crashlog = CrashLogParser.create(debugger, crashlog_path, False).parse() target = lldb.SBTarget() @@ -1641,17 +1635,22 @@ ci = debugger.GetCommandInterpreter() if args: - for crash_log_file in args: + for crashlog_file in args: + crashlog_path = os.path.expanduser(crashlog_file) + if not os.path.exists(crashlog_path): + raise FileNotFoundError( + "crashlog file %s does not exist" % crashlog_path + ) if should_run_in_interactive_mode(options, ci): try: load_crashlog_in_scripted_process( - debugger, crash_log_file, options, result + debugger, crashlog_path, options, result ) except InteractiveCrashLogException as e: result.SetError(str(e)) else: crash_log = CrashLogParser.create( - debugger, crash_log_file, options.verbose + debugger, crashlog_path, options.verbose ).parse() SymbolicateCrashLog(crash_log, options)
Index: lldb/examples/python/crashlog.py =================================================================== --- lldb/examples/python/crashlog.py +++ lldb/examples/python/crashlog.py @@ -1346,13 +1346,7 @@ print(error) -def load_crashlog_in_scripted_process(debugger, crash_log_file, options, result): - crashlog_path = os.path.expanduser(crash_log_file) - if not os.path.exists(crashlog_path): - raise InteractiveCrashLogException( - "crashlog file %s does not exist" % crashlog_path - ) - +def load_crashlog_in_scripted_process(debugger, crashlog_path, options, result): crashlog = CrashLogParser.create(debugger, crashlog_path, False).parse() target = lldb.SBTarget() @@ -1641,17 +1635,22 @@ ci = debugger.GetCommandInterpreter() if args: - for crash_log_file in args: + for crashlog_file in args: + crashlog_path = os.path.expanduser(crashlog_file) + if not os.path.exists(crashlog_path): + raise FileNotFoundError( + "crashlog file %s does not exist" % crashlog_path + ) if should_run_in_interactive_mode(options, ci): try: load_crashlog_in_scripted_process( - debugger, crash_log_file, options, result + debugger, crashlog_path, options, result ) except InteractiveCrashLogException as e: result.SetError(str(e)) else: crash_log = CrashLogParser.create( - debugger, crash_log_file, options.verbose + debugger, crashlog_path, options.verbose ).parse() SymbolicateCrashLog(crash_log, options)
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits