Project Red - Core

Project Red - Core

43M Downloads

[Bug] Crash due concurrency issues

mmemfox opened this issue ยท 0 comments

commented

Concurrency issues between threads:

Time: 2025-04-06 18:43:42
Description: Unexpected error

java.util.ConcurrentModificationException: null
	at java.util.HashMap.computeIfAbsent(HashMap.java:1221) ~[?:?] {}
	at mrtjp.projectred.integration.part.BundledGatePart$BusInputPanel.getOrCreateOutline(BundledGatePart.java:693) ~[ProjectRed-1.20.1-4.21.0-integration.jar%23172!/:?] {re:classloading}
	at mrtjp.projectred.integration.part.BundledGatePart$BusInputPanel.getShape(BundledGatePart.java:865) ~[ProjectRed-1.20.1-4.21.0-integration.jar%23172!/:?] {re:classloading}
	at codechicken.multipart.block.TileMultipart.lambda$getShape$10(TileMultipart.java:363) ~[CBMultipart-1.20.1-3.3.0.146-universal.jar%23166!/:1.20.1-3.3.0.146] 
...

Suggestion - replace HashMap with ConcurrentHashMap

private static final ArrayList<HashMap<Integer, MultiIndexedVoxelShape>> shapeCache = new ArrayList<>(6 * 4);