From e4e8f5d3110adcf5f2e2e5f8df1d4c5392bf62cd Mon Sep 17 00:00:00 2001 From: woodser Date: Sun, 21 Jan 2024 08:00:31 -0500 Subject: [PATCH] fix npe syncing wallet normally for duration --- core/src/main/java/haveno/core/trade/Trade.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/haveno/core/trade/Trade.java b/core/src/main/java/haveno/core/trade/Trade.java index 93dc0dbd..582c0d70 100644 --- a/core/src/main/java/haveno/core/trade/Trade.java +++ b/core/src/main/java/haveno/core/trade/Trade.java @@ -836,7 +836,9 @@ public abstract class Trade implements Tradable, Model { // reset wallet refresh period after duration new Thread(() -> { GenUtils.waitFor(syncNormalDuration); - if (!isShutDown && System.currentTimeMillis() >= syncNormalStartTimeMs + syncNormalDuration) { + Long syncNormalStartTimeMsCopy = syncNormalStartTimeMs; // copy to avoid race condition + if (syncNormalStartTimeMsCopy == null) return; + if (!isShutDown && System.currentTimeMillis() >= syncNormalStartTimeMsCopy + syncNormalDuration) { syncNormalStartTimeMs = null; updateWalletRefreshPeriod(); }