Fix runtime stack trace computation (#11581)

Co-authored-by: paperdave <paperdave@users.noreply.github.com>
This commit is contained in:
dave caruso
2024-06-05 00:26:03 -07:00
committed by GitHub
parent 2580d199a4
commit bb8c0d97ba
21 changed files with 380 additions and 400 deletions

View File

@@ -26,6 +26,7 @@
#include "ProcessBindingTTYWrap.h"
#include "wtf/text/ASCIILiteral.h"
#include "wtf/text/OrdinalNumber.h"
#ifndef WIN32
#include <errno.h>
@@ -1591,10 +1592,14 @@ static JSValue constructReportObjectComplete(VM& vm, Zig::GlobalObject* globalOb
vm.interpreter.getStackTrace(javascriptStack, stackFrames, 1);
String name = "Error"_s;
String message = "JavaScript Callstack"_s;
unsigned int line = 0;
unsigned int column = 0;
OrdinalNumber line = OrdinalNumber::beforeFirst();
OrdinalNumber column = OrdinalNumber::beforeFirst();
WTF::String sourceURL;
WTF::String stackProperty = Bun::formatStackTrace(vm, globalObject, name, message, line, column, sourceURL, stackFrames, nullptr);
WTF::String stackProperty = Bun::formatStackTrace(
vm, globalObject, name, message,
line, column,
sourceURL, stackFrames, nullptr);
WTF::String stack;
// first line after "Error:"
size_t firstLine = stackProperty.find('\n');