From c90fd3eda9d6cfdaf86e9cd95ab9ef377dd2b6a0 Mon Sep 17 00:00:00 2001 From: Kirill Gavrilov Date: Mon, 21 Sep 2026 18:05:54 +0300 Subject: [PATCH 1/2] fix: fix NPE in ThrottledProgressEventDispatcherWrapper.close --- .../ThrottledProgressEventDispatcherWrapper.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/jib-core/src/main/java/com/google/cloud/tools/jib/builder/steps/ThrottledProgressEventDispatcherWrapper.java b/jib-core/src/main/java/com/google/cloud/tools/jib/builder/steps/ThrottledProgressEventDispatcherWrapper.java index 26a8de1612..afe9141445 100644 --- a/jib-core/src/main/java/com/google/cloud/tools/jib/builder/steps/ThrottledProgressEventDispatcherWrapper.java +++ b/jib-core/src/main/java/com/google/cloud/tools/jib/builder/steps/ThrottledProgressEventDispatcherWrapper.java @@ -51,10 +51,15 @@ public void dispatchProgress(Long progressUnits) { @Override public void close() { - Preconditions.checkNotNull(progressEventDispatcher); - Preconditions.checkNotNull(throttledDispatcher); - throttledDispatcher.close(); - progressEventDispatcher.close(); + try { + if (throttledDispatcher != null) { + throttledDispatcher.close(); + } + } finally { + if (progressEventDispatcher != null) { + progressEventDispatcher.close(); + } + } } void setProgressTarget(long allocationUnits) { From 6b2a6dc8461a9dd8fc778ae4d884dfa88ef07abf Mon Sep 17 00:00:00 2001 From: Kirill Gavrilov Date: Mon, 21 Sep 2026 18:13:39 +0300 Subject: [PATCH 2/2] refactor: use the recommended method for ensuring nullable reference is not null `com.google.common.base.Preconditions#checkNotNull` JavaDoc says: > We still encourage people to use requireNonNull over checkNotNull for non-precondition checks. --- .../builder/steps/ThrottledProgressEventDispatcherWrapper.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jib-core/src/main/java/com/google/cloud/tools/jib/builder/steps/ThrottledProgressEventDispatcherWrapper.java b/jib-core/src/main/java/com/google/cloud/tools/jib/builder/steps/ThrottledProgressEventDispatcherWrapper.java index afe9141445..e29b495307 100644 --- a/jib-core/src/main/java/com/google/cloud/tools/jib/builder/steps/ThrottledProgressEventDispatcherWrapper.java +++ b/jib-core/src/main/java/com/google/cloud/tools/jib/builder/steps/ThrottledProgressEventDispatcherWrapper.java @@ -20,6 +20,7 @@ import com.google.cloud.tools.jib.event.progress.ThrottledAccumulatingConsumer; import com.google.common.base.Preconditions; import java.io.Closeable; +import java.util.Objects; import javax.annotation.Nullable; /** @@ -45,7 +46,7 @@ class ThrottledProgressEventDispatcherWrapper implements Closeable { } public void dispatchProgress(Long progressUnits) { - Preconditions.checkNotNull(throttledDispatcher); + Objects.requireNonNull(throttledDispatcher); throttledDispatcher.accept(progressUnits); }