From a97c82765645a7f8223dc612a433ef2207a85d20 Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Sun, 19 Oct 2025 18:11:03 -0700 Subject: [PATCH 1/2] DEBUG: add print outs for troubleshooting --- src/main/java/tools/jackson/core/util/BufferRecycler.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/tools/jackson/core/util/BufferRecycler.java b/src/main/java/tools/jackson/core/util/BufferRecycler.java index 944996ef44..3ae1e12ac5 100644 --- a/src/main/java/tools/jackson/core/util/BufferRecycler.java +++ b/src/main/java/tools/jackson/core/util/BufferRecycler.java @@ -159,8 +159,10 @@ public byte[] allocByteBuffer(int ix, int minSize) { } byte[] buffer = _byteBuffers.getAndSet(ix, null); if (buffer == null || buffer.length < minSize) { +System.err.print(" [Ab"+ix+"]"); buffer = balloc(minSize); } +else System.err.print(" [Ub"+ix+"]"); return buffer; } @@ -168,9 +170,11 @@ public void releaseByteBuffer(int ix, byte[] buffer) { // 13-Jan-2024, tatu: [core#1186] Replace only if beneficial: byte[] oldBuffer = _byteBuffers.get(ix); if ((oldBuffer == null) || buffer.length > oldBuffer.length) { +System.err.print(" [Rb"+ix+"]"); // Could use CAS, but should not really matter _byteBuffers.set(ix, buffer); } +else System.err.print(" [FailRb"+ix+"]"); } /* @@ -190,8 +194,10 @@ public char[] allocCharBuffer(int ix, int minSize) { } char[] buffer = _charBuffers.getAndSet(ix, null); if (buffer == null || buffer.length < minSize) { +System.err.print(" [Ac"+ix+"]"); buffer = calloc(minSize); } + else System.err.print(" [Uc"+ix+"]"); return buffer; } @@ -199,9 +205,11 @@ public void releaseCharBuffer(int ix, char[] buffer) { // 13-Jan-2024, tatu: [core#1186] Replace only if beneficial: char[] oldBuffer = _charBuffers.get(ix); if ((oldBuffer == null) || buffer.length > oldBuffer.length) { +System.err.print(" [Rc"+ix+"]"); // Could use CAS, but should not really matter _charBuffers.set(ix, buffer); } +else System.err.print(" [FailRc"+ix+"]"); } /* From e9233d4dfa56625482f9b6778689c767de690062 Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Sun, 19 Oct 2025 18:17:29 -0700 Subject: [PATCH 2/2] ... --- src/main/java/tools/jackson/core/util/BufferRecycler.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/tools/jackson/core/util/BufferRecycler.java b/src/main/java/tools/jackson/core/util/BufferRecycler.java index 3ae1e12ac5..86a77e2d1f 100644 --- a/src/main/java/tools/jackson/core/util/BufferRecycler.java +++ b/src/main/java/tools/jackson/core/util/BufferRecycler.java @@ -167,6 +167,7 @@ public byte[] allocByteBuffer(int ix, int minSize) { } public void releaseByteBuffer(int ix, byte[] buffer) { +Objects.requireNonNull(buffer); // 13-Jan-2024, tatu: [core#1186] Replace only if beneficial: byte[] oldBuffer = _byteBuffers.get(ix); if ((oldBuffer == null) || buffer.length > oldBuffer.length) { @@ -202,6 +203,7 @@ public char[] allocCharBuffer(int ix, int minSize) { } public void releaseCharBuffer(int ix, char[] buffer) { +Objects.requireNonNull(buffer); // 13-Jan-2024, tatu: [core#1186] Replace only if beneficial: char[] oldBuffer = _charBuffers.get(ix); if ((oldBuffer == null) || buffer.length > oldBuffer.length) {