[SPIGOT-6110] Breaking BELL after ringing sometimes errors. Created: 27/Aug/20  Updated: 29/Jun/22  Resolved: 29/Jun/22

Status: Closed
Project: Spigot
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: village_admin Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: None
Environment:

Linux.


Issue Links:
Relates
relates to SPIGOT-6362 ConcurrentModificationException: null... Resolved
Version: git-Spigot-b5a13e6-0491200 (MC: 1.16.2) (Implementing API version 1.16.2-R0.1-SNAPSHOT)
Plugin: n/a
Guidelines Read: Yes

 Description   

It does not happen every time. Seems like 10% of the time. I would have to place and break the bell around a dozen times to replicate error each time. I don't understand what triggers it to happen only some of the time.

Place a bell on the ground. Hit it a couple of times to ring it. Then break it with diamond pick axe. If it drops pick it up and replace it in same spot. Keep repeating until when you break the bell and it does not drop. Check console logs and you will see the following error.

Not sure if the diamond pick axe has any relevance. And when trying to replicate the error im doing the actions fast. Not sure if speed plays a part into the error happening. As in if the bell sits longer or if i wait longer to break it after ringing it, etc.

[20:28:25] [Server thread/FATAL]: Error executing task on Server
java.util.ConcurrentModificationException: null
        at java.util.HashMap$HashIterator.nextNode(HashMap.java:1493) ~[?:?]
        at java.util.HashMap$KeyIterator.next(HashMap.java:1516) ~[?:?]
        at net.minecraft.server.v1_16_R2.WorldServer.notify(WorldServer.java:1221) ~[spigot.jar:git-Spigot-b5a13e6-0491200]
        at net.minecraft.server.v1_16_R2.World.notifyAndUpdatePhysics(World.java:334) ~[spigot.jar:git-Spigot-b5a13e6-0491200]
        at net.minecraft.server.v1_16_R2.World.a(World.java:310) ~[spigot.jar:git-Spigot-b5a13e6-0491200]
        at net.minecraft.server.v1_16_R2.World.setTypeAndData(World.java:225) ~[spigot.jar:git-Spigot-b5a13e6-0491200]
        at net.minecraft.server.v1_16_R2.World.a(World.java:374) ~[spigot.jar:git-Spigot-b5a13e6-0491200]
        at net.minecraft.server.v1_16_R2.PlayerInteractManager.breakBlock(PlayerInteractManager.java:352) ~[spigot.jar:git-Spigot-b5a13e6-0491200]
        at net.minecraft.server.v1_16_R2.PlayerInteractManager.a(PlayerInteractManager.java:268) ~[spigot.jar:git-Spigot-b5a13e6-0491200]
        at net.minecraft.server.v1_16_R2.PlayerInteractManager.a(PlayerInteractManager.java:238) ~[spigot.jar:git-Spigot-b5a13e6-0491200]
        at net.minecraft.server.v1_16_R2.PlayerConnection.a(PlayerConnection.java:1219) ~[spigot.jar:git-Spigot-b5a13e6-0491200]
        at net.minecraft.server.v1_16_R2.PacketPlayInBlockDig.a(SourceFile:40) ~[spigot.jar:git-Spigot-b5a13e6-0491200]
        at net.minecraft.server.v1_16_R2.PacketPlayInBlockDig.a(SourceFile:10) ~[spigot.jar:git-Spigot-b5a13e6-0491200]
        at net.minecraft.server.v1_16_R2.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:19) ~[spigot.jar:git-Spigot-b5a13e6-0491200]
        at net.minecraft.server.v1_16_R2.TickTask.run(SourceFile:18) ~[spigot.jar:git-Spigot-b5a13e6-0491200]
        at net.minecraft.server.v1_16_R2.IAsyncTaskHandler.executeTask(SourceFile:144) ~[spigot.jar:git-Spigot-b5a13e6-0491200]
        at net.minecraft.server.v1_16_R2.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[spigot.jar:git-Spigot-b5a13e6-0491200]
        at net.minecraft.server.v1_16_R2.IAsyncTaskHandler.executeNext(SourceFile:118) ~[spigot.jar:git-Spigot-b5a13e6-0491200]
        at net.minecraft.server.v1_16_R2.MinecraftServer.ba(MinecraftServer.java:941) ~[spigot.jar:git-Spigot-b5a13e6-0491200]
        at net.minecraft.server.v1_16_R2.MinecraftServer.executeNext(MinecraftServer.java:934) ~[spigot.jar:git-Spigot-b5a13e6-0491200]
        at net.minecraft.server.v1_16_R2.IAsyncTaskHandler.awaitTasks(SourceFile:127) ~[spigot.jar:git-Spigot-b5a13e6-0491200]
        at net.minecraft.server.v1_16_R2.MinecraftServer.sleepForTick(MinecraftServer.java:918) ~[spigot.jar:git-Spigot-b5a13e6-0491200]
        at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:850) ~[spigot.jar:git-Spigot-b5a13e6-0491200]
        at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$0(MinecraftServer.java:164) ~[spigot.jar:git-Spigot-b5a13e6-0491200]
        at java.lang.Thread.run(Thread.java:834) [?:?]


 Comments   
Comment by Black Hole [ 29/Jun/22 ]

Was fixed a while ago.

Comment by md_5 [ 27/Aug/20 ]

I tried a lot and couldn't reproduce this.
The code is entirely async safe from bad plugins except for .notify, and adding an async catcher there is probably too big a performance hit.
I'd try withoit plugins

Generated at Tue Apr 22 04:54:53 UTC 2025 using Jira 10.3.5#10030005-sha1:190c783f2bd6c69cd5accdb70f97e48812a78d14.