From 3de8704bd3b692df04a941d883fdfad0e2fa2b04 Mon Sep 17 00:00:00 2001 From: bitloi Date: Sun, 1 Feb 2026 02:33:41 +0100 Subject: [PATCH] WorkerMain: exit quietly on invalid JSON-RPC input (no stack trace) When input lacks 'jsonrpc' field (e.g. {}), call System.exit(1) instead of throwing IllegalArgumentException. Avoids noisy stack traces in CI from WorkerExchangeTest's intentional bad-input tests. --- worker/src/main/java/sbt/internal/worker1/WorkerMain.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/worker/src/main/java/sbt/internal/worker1/WorkerMain.java b/worker/src/main/java/sbt/internal/worker1/WorkerMain.java index 262371790..92730be2a 100644 --- a/worker/src/main/java/sbt/internal/worker1/WorkerMain.java +++ b/worker/src/main/java/sbt/internal/worker1/WorkerMain.java @@ -115,7 +115,8 @@ public final class WorkerMain { JsonElement elem = JsonParser.parseString(json); JsonObject o = elem.getAsJsonObject(); if (!o.has("jsonrpc")) { - throw new IllegalArgumentException("jsonrpc expected but got: " + json); + // Exit without stack trace so CI / test runners do not treat stderr as failure + System.exit(1); } Gson g = WorkerMain.mkGson(); long id = o.getAsJsonPrimitive("id").getAsLong();