Skip to content

Commit 23d4886

Browse files
committed
Fix stack overflow with PrintStackTrace()
1 parent 634ddec commit 23d4886

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

src/common/System.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -226,8 +226,6 @@ void Drop(Str::StringRef message)
226226
{
227227
if (!OnMainThread()) {
228228
Sys::Error(message);
229-
} else {
230-
PrintStackTrace();
231229
}
232230

233231
// Transform into a fatal error if too many errors are generated in quick
@@ -243,6 +241,8 @@ void Drop(Str::StringRef message)
243241
}
244242
lastError = now;
245243

244+
PrintStackTrace();
245+
246246
throw DropErr(true, message);
247247
}
248248

src/engine/framework/System.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -553,8 +553,9 @@ void Error(Str::StringRef message)
553553
{
554554
// Crash immediately in case of a recursive error
555555
static std::atomic_flag errorEntered;
556-
if (errorEntered.test_and_set())
556+
if (errorEntered.test_and_set()) {
557557
_exit(-1);
558+
}
558559

559560
Log::Warn(message);
560561
PrintStackTrace();

0 commit comments

Comments
 (0)