From 3cc8dd6cf73f46b3e4c4f8cc6efcffa06810473f Mon Sep 17 00:00:00 2001 From: Dimitar Bounov Date: Mon, 14 Oct 2024 12:23:21 -1000 Subject: [PATCH] nit --- src/debug/tracers/transformers/int_stack.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/debug/tracers/transformers/int_stack.ts b/src/debug/tracers/transformers/int_stack.ts index 7d81708..db663b6 100644 --- a/src/debug/tracers/transformers/int_stack.ts +++ b/src/debug/tracers/transformers/int_stack.ts @@ -104,6 +104,15 @@ export async function addInternalFrame< const lastStep = trace[trace.length - 1]; + // If we are ending execution, and still have leftover internal frames, then internal frame decoding + // is probably broken. + if (state.op.opcode === OPCODES.STOP) { + const curExtFrame = topExtFrame(state.stack); + + curExtFrame.internalFramesBroken = + curExtFrame.internalFramesBroken || curExtFrame.internalFrames.length > 1; + } + // External call/return - no change to internal stack if (lastStep.depth !== state.depth) { if (lastStep.op.opcode === OPCODES.RETURN) {