Compare commits

...

3 Commits

Author SHA1 Message Date
Jarred Sumner
ea1d4fb102 Merge branch 'main' into jarred/fixes-17087 2025-02-06 02:20:34 -08:00
Jarred Sumner
502e3ceec4 Merge branch 'main' into jarred/fixes-17087 2025-02-05 23:57:41 -08:00
Jarred Sumner
6b90b7bd85 Fixes #17087 2025-02-05 22:26:03 -08:00
3 changed files with 6 additions and 1 deletions

View File

@@ -558,7 +558,7 @@ WTF::String Bun::formatStackTrace(
remappedFrame.source_url = Bun::toStringRef(sourceURLForFrame);
// This ensures the lifetime of the sourceURL is accounted for correctly
Bun__remapStackFramePositions(globalObject, &remappedFrame, 1);
!isDefaultGlobalObjectInAFinalizer ? Bun__remapStackFramePositions(globalObject, &remappedFrame, 1) : Bun__remapStackFramePositionsWithoutGlobalObject(&remappedFrame, 1);
sourceURLForFrame = remappedFrame.source_url.toWTFString();
}

View File

@@ -433,6 +433,7 @@ bool Bun__deepMatch(
bool isMatchingObjectContaining);
extern "C" void Bun__remapStackFramePositions(JSC::JSGlobalObject*, ZigStackFrame*, size_t);
extern "C" void Bun__remapStackFramePositionsWithoutGlobalObject(ZigStackFrame*, size_t);
namespace Inspector {
class ScriptArguments;

View File

@@ -3555,6 +3555,10 @@ pub const VirtualMachine = struct {
globalObject.bunVM().remapStackFramePositions(frames, frames_count);
}
pub export fn Bun__remapStackFramePositionsWithoutGlobalObject(frames: [*]JSC.ZigStackFrame, frames_count: usize) void {
VirtualMachine.get().remapStackFramePositions(frames, frames_count);
}
pub fn remapStackFramePositions(this: *VirtualMachine, frames: [*]JSC.ZigStackFrame, frames_count: usize) void {
for (frames[0..frames_count]) |*frame| {
if (frame.position.isInvalid() or frame.remapped) continue;