summaryrefslogtreecommitdiff
path: root/indra/llcommon
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2024-05-03 11:46:00 -0400
committerNat Goodspeed <nat@lindenlab.com>2024-05-03 11:46:00 -0400
commitc89d51c60a6f42a5e279e2c9e06adcf1f13822c0 (patch)
treeb1ef0c5dc3986489672cd43f713d70615a82e1e5 /indra/llcommon
parent922277764d41e96a1c41291272bb70e3a1b8c677 (diff)
Log a stack trace on LL_ERRS().
Diffstat (limited to 'indra/llcommon')
-rw-r--r--indra/llcommon/llerror.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/indra/llcommon/llerror.cpp b/indra/llcommon/llerror.cpp
index 0f48ce16b2..ccdf3b60a8 100644
--- a/indra/llcommon/llerror.cpp
+++ b/indra/llcommon/llerror.cpp
@@ -44,6 +44,8 @@
# include <io.h>
#endif // !LL_WINDOWS
#include <vector>
+#define BOOST_STACKTRACE_GNU_SOURCE_NOT_REQUIRED
+#include <boost/stacktrace.hpp>
#include "string.h"
#include "llapp.h"
@@ -1429,16 +1431,17 @@ namespace LLError
message_stream << message;
message = message_stream.str();
}
-
+
writeToRecorders(site, message);
if (site.mLevel == LEVEL_ERROR)
{
+ writeToRecorders(site, stringize(boost::stacktrace::stacktrace()));
g->mFatalMessage = message;
- if (s->mCrashFunction)
- {
- s->mCrashFunction(message);
- }
+ if (s->mCrashFunction)
+ {
+ s->mCrashFunction(message);
+ }
}
}
}