Merge pull request #107058 from mihe/script-backtrace-deadlock

Fix various race conditions with capturing of script backtraces
This commit is contained in:
Thaddeus Crews 2025-06-03 15:30:16 -05:00
commit 57bf364f36
No known key found for this signature in database
GPG key ID: 8C6E5FEB5FC03CCC
6 changed files with 44 additions and 47 deletions

View file

@ -176,14 +176,11 @@ static void handle_crash(int sig) {
print_error("-- END OF C++ BACKTRACE --");
print_error("================================================================");
if (ScriptServer::are_languages_initialized()) {
Vector<Ref<ScriptBacktrace>> script_backtraces = ScriptServer::capture_script_backtraces(false);
for (const Ref<ScriptBacktrace> &backtrace : script_backtraces) {
if (!backtrace->is_empty()) {
print_error(backtrace->format());
print_error(vformat("-- END OF %s BACKTRACE --", backtrace->get_language_name().to_upper()));
print_error("================================================================");
}
for (const Ref<ScriptBacktrace> &backtrace : ScriptServer::capture_script_backtraces(false)) {
if (!backtrace->is_empty()) {
print_error(backtrace->format());
print_error(vformat("-- END OF %s BACKTRACE --", backtrace->get_language_name().to_upper()));
print_error("================================================================");
}
}