Author: Jim Ingham Date: 2020-11-13T11:41:32-08:00 New Revision: 5a4b2e1541f399c146a4ef5cf8f6aaf8b258a77b
URL: https://github.com/llvm/llvm-project/commit/5a4b2e1541f399c146a4ef5cf8f6aaf8b258a77b DIFF: https://github.com/llvm/llvm-project/commit/5a4b2e1541f399c146a4ef5cf8f6aaf8b258a77b.diff LOG: The AssertRecognizer used the module from a frames SC without checking it was non-null. I only have a crash report for this. I could reproduce it with a slightly older lldb by running an expression that called pthread_kill, but we started making modules for our expression JIT code, so that no longer triggers the bug. I can't think of another good way to test it but the fix is obvious. Added: Modified: lldb/source/Target/AssertFrameRecognizer.cpp Removed: ################################################################################ diff --git a/lldb/source/Target/AssertFrameRecognizer.cpp b/lldb/source/Target/AssertFrameRecognizer.cpp index fe5fa3a362f8..cb671040d14f 100644 --- a/lldb/source/Target/AssertFrameRecognizer.cpp +++ b/lldb/source/Target/AssertFrameRecognizer.cpp @@ -130,7 +130,8 @@ AssertFrameRecognizer::RecognizeFrame(lldb::StackFrameSP frame_sp) { SymbolContext sym_ctx = prev_frame_sp->GetSymbolContext(eSymbolContextEverything); - if (!sym_ctx.module_sp->GetFileSpec().FileEquals(location.module_spec)) + if (!sym_ctx.module_sp || + !sym_ctx.module_sp->GetFileSpec().FileEquals(location.module_spec)) continue; ConstString func_name = sym_ctx.GetFunctionName(); _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits