From 11bf2d92de5f335d4e07358d99f26fae08493f12 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 26 Nov 2024 13:56:12 -0800 Subject: [PATCH] diversify "unable to spawn" failure messages to help understand where a spurious failure is occurring --- lib/std/Build/Step.zig | 4 ++-- lib/std/Build/Step/Run.zig | 2 +- src/Compilation.zig | 4 ++-- src/link.zig | 2 +- src/link/Wasm.zig | 4 ++-- src/main.zig | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/std/Build/Step.zig b/lib/std/Build/Step.zig index 421c8fa579..8096037b19 100644 --- a/lib/std/Build/Step.zig +++ b/lib/std/Build/Step.zig @@ -339,7 +339,7 @@ pub fn captureChildProcess( .allocator = arena, .argv = argv, .progress_node = progress_node, - }) catch |err| return s.fail("unable to spawn {s}: {s}", .{ argv[0], @errorName(err) }); + }) catch |err| return s.fail("failed to run {s}: {s}", .{ argv[0], @errorName(err) }); if (result.stderr.len > 0) { try s.result_error_msgs.append(arena, result.stderr); @@ -423,7 +423,7 @@ pub fn evalZigProcess( child.request_resource_usage_statistics = true; child.progress_node = prog_node; - child.spawn() catch |err| return s.fail("unable to spawn {s}: {s}", .{ + child.spawn() catch |err| return s.fail("failed to spawn zig compiler {s}: {s}", .{ argv[0], @errorName(err), }); diff --git a/lib/std/Build/Step/Run.zig b/lib/std/Build/Step/Run.zig index 9db00460a9..233cb5742e 100644 --- a/lib/std/Build/Step/Run.zig +++ b/lib/std/Build/Step/Run.zig @@ -1137,7 +1137,7 @@ fn runCommand( }; } - return step.fail("unable to spawn {s}: {s}", .{ argv[0], @errorName(err) }); + return step.fail("failed to spawn and capture stdio from {s}: {s}", .{ argv[0], @errorName(err) }); }; step.result_duration_ns = result.elapsed_ns; diff --git a/src/Compilation.zig b/src/Compilation.zig index 3ad5c7932f..6f772edda5 100644 --- a/src/Compilation.zig +++ b/src/Compilation.zig @@ -4772,7 +4772,7 @@ fn updateCObject(comp: *Compilation, c_object: *CObject, c_obj_prog_node: std.Pr child.stderr_behavior = .Inherit; const term = child.spawnAndWait() catch |err| { - return comp.failCObj(c_object, "unable to spawn {s}: {s}", .{ argv.items[0], @errorName(err) }); + return comp.failCObj(c_object, "failed to spawn zig clang (passthrough mode) {s}: {s}", .{ argv.items[0], @errorName(err) }); }; switch (term) { .Exited => |code| { @@ -4794,7 +4794,7 @@ fn updateCObject(comp: *Compilation, c_object: *CObject, c_obj_prog_node: std.Pr const stderr = try child.stderr.?.reader().readAllAlloc(arena, std.math.maxInt(usize)); const term = child.wait() catch |err| { - return comp.failCObj(c_object, "unable to spawn {s}: {s}", .{ argv.items[0], @errorName(err) }); + return comp.failCObj(c_object, "failed to spawn zig clang {s}: {s}", .{ argv.items[0], @errorName(err) }); }; switch (term) { diff --git a/src/link.zig b/src/link.zig index 7f53bde320..6eab62eced 100644 --- a/src/link.zig +++ b/src/link.zig @@ -1648,7 +1648,7 @@ pub fn spawnLld( }, else => first_err, }; - log.err("unable to spawn {s}: {s}", .{ argv[0], @errorName(err) }); + log.err("unable to spawn LLD {s}: {s}", .{ argv[0], @errorName(err) }); return error.UnableToSpawnSelf; }; diff --git a/src/link/Wasm.zig b/src/link/Wasm.zig index ee8e638080..7d00aa5a64 100644 --- a/src/link/Wasm.zig +++ b/src/link/Wasm.zig @@ -3722,7 +3722,7 @@ fn linkWithLLD(wasm: *Wasm, arena: Allocator, tid: Zcu.PerThread.Id, prog_node: child.stderr_behavior = .Inherit; const term = child.spawnAndWait() catch |err| { - log.err("unable to spawn {s}: {s}", .{ argv.items[0], @errorName(err) }); + log.err("failed to spawn (passthrough mode) LLD {s}: {s}", .{ argv.items[0], @errorName(err) }); return error.UnableToSpawnWasm; }; switch (term) { @@ -3743,7 +3743,7 @@ fn linkWithLLD(wasm: *Wasm, arena: Allocator, tid: Zcu.PerThread.Id, prog_node: const stderr = try child.stderr.?.reader().readAllAlloc(arena, std.math.maxInt(usize)); const term = child.wait() catch |err| { - log.err("unable to spawn {s}: {s}", .{ argv.items[0], @errorName(err) }); + log.err("failed to spawn LLD {s}: {s}", .{ argv.items[0], @errorName(err) }); return error.UnableToSpawnWasm; }; diff --git a/src/main.zig b/src/main.zig index 13e24d8c25..0d239f1f99 100644 --- a/src/main.zig +++ b/src/main.zig @@ -5244,7 +5244,7 @@ fn cmdBuild(gpa: Allocator, arena: Allocator, args: []const []const u8) !void { std.debug.lockStdErr(); defer std.debug.unlockStdErr(); break :t child.spawnAndWait() catch |err| { - fatal("unable to spawn {s}: {s}", .{ child_argv.items[0], @errorName(err) }); + fatal("failed to spawn build runner {s}: {s}", .{ child_argv.items[0], @errorName(err) }); }; };