From 5b4585e820447143466c95e6d7ff43f564e06277 Mon Sep 17 00:00:00 2001 From: LordMZTE Date: Sat, 3 Feb 2024 00:20:49 +0100 Subject: [PATCH] mzteinit: print ERT --- scripts/mzteinit/src/main.zig | 20 ++++++++++++++++++++ scripts/mzteinit/src/mutex.zig | 1 - 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/scripts/mzteinit/src/main.zig b/scripts/mzteinit/src/main.zig index 89953dd..929fbe8 100644 --- a/scripts/mzteinit/src/main.zig +++ b/scripts/mzteinit/src/main.zig @@ -42,6 +42,26 @@ pub fn main() void { tryMain() catch |e| { std.log.err("FATAL ERROR: {}", .{e}); + if (@errorReturnTrace()) |trace| { + var buf: [1024 * 8]u8 = undefined; + const trace_s = s: { + const deb_inf = std.debug.getSelfDebugInfo() catch break :s null; + + var fbs = std.io.fixedBufferStream(&buf); + std.debug.writeStackTrace( + trace.*, + fbs.writer(), + std.heap.page_allocator, + deb_inf, + .no_color, + ) catch break :s null; + break :s fbs.getWritten(); + }; + + if (trace_s) |s| { + std.log.err("ERT: {s}", .{s}); + } + } std.debug.print("Encountered fatal error (check log), starting emergency shell!\n", .{}); @panic(@errorName(std.os.execveZ( diff --git a/scripts/mzteinit/src/mutex.zig b/scripts/mzteinit/src/mutex.zig index 248b52b..1152f27 100644 --- a/scripts/mzteinit/src/mutex.zig +++ b/scripts/mzteinit/src/mutex.zig @@ -7,4 +7,3 @@ pub fn Mutex(comptime T: type) type { mtx: std.Thread.Mutex = .{}, }; } -