summaryrefslogtreecommitdiff
path: root/sal
diff options
context:
space:
mode:
Diffstat (limited to 'sal')
-rw-r--r--sal/osl/unx/backtraceapi.cxx8
1 files changed, 7 insertions, 1 deletions
diff --git a/sal/osl/unx/backtraceapi.cxx b/sal/osl/unx/backtraceapi.cxx
index b372a500f7f0..3022be8dd829 100644
--- a/sal/osl/unx/backtraceapi.cxx
+++ b/sal/osl/unx/backtraceapi.cxx
@@ -161,7 +161,13 @@ void process_file_addr2line( const char* file, std::vector<FrameData>& frameData
OString function = lines[linesPos];
OString source = lines[linesPos+1];
linesPos += 2;
- if(!function.isEmpty() && !function.startsWith("??"))
+ if(function.isEmpty() || function.startsWith("??"))
+ {
+ // Cache that the address cannot be resolved.
+ std::lock_guard guard(frameCacheMutex);
+ frameCache.insert( { frame.addr, "" } );
+ }
+ else
{
if( source.startsWith("??"))
frame.info = function + " in " + file;