From 1415aa68313dbd7fff5c5313001458c30d5303f9 Mon Sep 17 00:00:00 2001 From: Project516 <138796702+Project516@users.noreply.github.com> Date: Wed, 4 Nov 2026 19:14:35 -0600 Subject: [PATCH] Collect garbage before the java-web command exits, which avoids a hang in node's exit teardown, and run BitLengthOverflow in CI again --- src/node.ts | 4 +++- test/jtreg/passing.txt | 1 + test/jtreg/times.tsv | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/node.ts b/src/node.ts index 595bffb..5cb4448 100644 --- a/src/node.ts +++ b/src/node.ts @@ -509,7 +509,9 @@ export function main(argv: string[]) { console.error("usage: java-web [-cp path] [-Dkey=value] Main [args] | -jar app.jar [args]"); process.exit(2); } - Promise.resolve().then(() => runNode(o)).then((code) => process.exit(code), (e) => { + // Collecting first: node's exit teardown can deadlock while it frees very + // large array buffers (seen on x64 CI runners with a few hundred MB left). + Promise.resolve().then(() => runNode(o)).then((code) => (globalThis.gc?.(), process.exit(code)), (e) => { console.error(`java-web: ${(e as Error).message}`); process.exit(1); }); diff --git a/test/jtreg/passing.txt b/test/jtreg/passing.txt index 4d4e403..c31b226 100644 --- a/test/jtreg/passing.txt +++ b/test/jtreg/passing.txt @@ -1426,6 +1426,7 @@ java/math/BigDecimal/ToPlainStringTests.java java/math/BigDecimal/ValueOfDouble.java java/math/BigDecimal/ZeroScalingTests.java java/math/BigInteger/BigIntegerParallelMultiplyTest.java +java/math/BigInteger/BitLengthOverflow.java java/math/BigInteger/CompareToTests.java java/math/BigInteger/DoubleValueOverflow.java java/math/BigInteger/HashCode.java diff --git a/test/jtreg/times.tsv b/test/jtreg/times.tsv index ca2a829..7f1f14e 100644 --- a/test/jtreg/times.tsv +++ b/test/jtreg/times.tsv @@ -2761,6 +2761,7 @@ 2392 java/util/PriorityQueue/RemoveContains.java 2389 java/nio/MappedByteBuffer/ForceViews.java 2389 java/io/Externalizable/compatibility/ExternalizableBlockData.java +2389 java/math/BigInteger/BitLengthOverflow.java 2386 java/security/cert/PKIXBuilderParameters/InvalidParameters.java 2386 java/net/URL/RelativeURLTest.java 2385 java/util/HashMap/OverrideIsEmpty.java