diff --git a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataBuilderThread.java b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataBuilderThread.java index f6c14669..1c03daed 100644 --- a/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataBuilderThread.java +++ b/src/main/java/org/qortal/controller/arbitrary/ArbitraryDataBuilderThread.java @@ -36,11 +36,15 @@ public class ArbitraryDataBuilderThread implements Runnable { continue; } + Map.Entry next = null; + // Find resources that are queued for building - Map.Entry next = buildManager.arbitraryDataBuildQueue - .entrySet().stream() - .filter(e -> e.getValue().isQueued()) - .findFirst().orElse(null); + synchronized (buildManager.arbitraryDataBuildQueue) { + next = buildManager.arbitraryDataBuildQueue + .entrySet().stream() + .filter(e -> e.getValue().isQueued()) + .findFirst().orElse(null); + } if (next == null) { continue;