Skip to content

Commit

Permalink
std.debug: fix stack trace iteration code
Browse files Browse the repository at this point in the history
Previously, the stack trace iteration code was using the number of
frames collected as the number of frames to print, not recognizing the
fixed size of the buffer. So it would redundantly print items, matching
the total number of frames ever collected.

Now the iteration code is limited to the actual stack trace frame count,
and will not print duplicate frames.

Closes #2447
Closes #2151
  • Loading branch information
andrewrk committed May 8, 2019
1 parent a4aee8b commit 9c12237
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion std/debug.zig
Expand Up @@ -214,7 +214,7 @@ pub fn writeStackTrace(
tty_color: bool,
) !void {
var frame_index: usize = 0;
var frames_left: usize = stack_trace.index;
var frames_left: usize = std.math.min(stack_trace.index, stack_trace.instruction_addresses.len);

while (frames_left != 0) : ({
frames_left -= 1;
Expand Down

0 comments on commit 9c12237

Please sign in to comment.