From 717af61576051a19b0601073b6e38ef1ea17840b Mon Sep 17 00:00:00 2001 From: Julian P Samaroo Date: Mon, 20 Apr 2026 10:50:19 -0400 Subject: [PATCH 1/3] LocalManager: Track start_worker failures with errormonitor --- src/managers.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/managers.jl b/src/managers.jl index a65ebab..7f270a3 100644 --- a/src/managers.jl +++ b/src/managers.jl @@ -541,6 +541,7 @@ function launch(manager::LocalManager, params::Dict, launched::Array, c::Conditi task = Threads.@spawn @with CTX => worker_ctx begin start_worker(pipe.in, cookie; close_stdin=false, stderr_to_stdout=false, exit_on_close=false) end + errormonitor(task) wconfig.io = pipe.out wconfig.userdata = (; ctx=worker_ctx, task, pipe) From c5abb49004c30a06ae6a122d82537354a046d328 Mon Sep 17 00:00:00 2001 From: Julian P Samaroo Date: Mon, 20 Apr 2026 10:50:40 -0400 Subject: [PATCH 2/3] start_worker: Don't assume IPv4 bind_addr --- src/cluster.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cluster.jl b/src/cluster.jl index 24bd1a9..898a08b 100644 --- a/src/cluster.jl +++ b/src/cluster.jl @@ -271,7 +271,7 @@ function start_worker(out::IO, cookie::AbstractString=readline(stdin); close_std stderr_to_stdout && redirect_stderr(stdout) init_worker(cookie) - interface = IPv4(CTX[].lproc.bind_addr) + interface = parse(IPAddr, CTX[].lproc.bind_addr) if CTX[].lproc.bind_port == 0 (port, sock) = listenany(interface, CTX[].lproc.bind_port_hint) CTX[].lproc.bind_port = Int(port) From 5d868520faf615f62e883a92ac3d24c1faf7be84 Mon Sep 17 00:00:00 2001 From: Julian P Samaroo Date: Mon, 20 Apr 2026 10:56:57 -0400 Subject: [PATCH 3/3] Bump version to 1.3.1 --- Project.toml | 2 +- docs/src/_changelog.md | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 2d68d42..65277fa 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "DistributedNext" uuid = "fab6aee4-877b-4bac-a744-3eca44acbb6f" -version = "1.3.0" +version = "1.3.1" [deps] PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a" diff --git a/docs/src/_changelog.md b/docs/src/_changelog.md index 61ba242..5f633fb 100644 --- a/docs/src/_changelog.md +++ b/docs/src/_changelog.md @@ -7,6 +7,14 @@ CurrentModule = DistributedNext This documents notable changes in DistributedNext.jl. The format is based on [Keep a Changelog](https://keepachangelog.com). +## [v1.3.1] - 2026-04-20 + +### Changed +- Fixed an incorrect assumption in `start_worker` that the loopback `bind_addr` + would be IPv4, which is untrue on macOS. This fixes silent hangs during + precompile on macOS, and also ensures `start_worker` errors are properly + reported ([#68]). + ## [v1.3.0] - 2026-04-06 ### Changed