From 3af2162ff13afa6d2300ff5e85fc309f1fa1134c Mon Sep 17 00:00:00 2001 From: Bo Zimmerman Date: Fri, 9 Jun 2023 17:03:23 -0700 Subject: [PATCH] AIR-9: Do not cancel stackwalk when module not found. --- src/processor/stack_frame_symbolizer.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/processor/stack_frame_symbolizer.cc b/src/processor/stack_frame_symbolizer.cc index 3afd471b8..1401193d2 100644 --- a/src/processor/stack_frame_symbolizer.cc +++ b/src/processor/stack_frame_symbolizer.cc @@ -79,7 +79,9 @@ StackFrameSymbolizer::SymbolizerResult StackFrameSymbolizer::FillSourceLineInfo( // If module is known to have missing symbol file, return. if (no_symbol_modules_.find(module->code_file()) != no_symbol_modules_.end()) { - return kError; + //BZ: Previously, this would generate an error, which would cancel + // the remainder of the stackwalk. + return kNoError; } // If module is already loaded, go ahead to fill source line info and return. @@ -116,9 +118,11 @@ StackFrameSymbolizer::SymbolizerResult StackFrameSymbolizer::FillSourceLineInfo( return resolver_->IsModuleCorrupt(frame->module) ? kWarningCorruptSymbols : kNoError; } else { + //BZ: Previously, this would generate an error, which would cancel + // the remainder of the stackwalk. BPLOG(ERROR) << "Failed to load symbol file in resolver."; no_symbol_modules_.insert(module->code_file()); - return kError; + return kNoError; } }