PaperMC / PaperMC/Paper

Server Crash

Open
#6,451 19 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

status: accepted type: bug version: 1.19
Dominant language
Java
Stars
12.7k
Forks
3.5k
Avg merge
3d 13h
Merged PRs (30d)
11

Description

Stack trace
[18:50:19 ERROR]: Encountered an unexpected exception                                                                                                                                                                                                                                         
net.minecraft.ReportedException: Exception ticking world                                                                                                                                                                                                                                      
        at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1568) ~[patched_1.17.1.jar:git-Paper-186]                                                                                                                                                                              
        at net.minecraft.server.dedicated.DedicatedServer.b(DedicatedServer.java:479) ~[patched_1.17.1.jar:git-Paper-186]                                                                                                                                                                     
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1406) ~[patched_1.17.1.jar:git-Paper-186]                                                                                                                                                                              
        at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1188) ~[patched_1.17.1.jar:git-Paper-186]                                                                                                                                                                              
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:316) ~[patched_1.17.1.jar:git-Paper-186]                                                                                                                                                                   
        at java.lang.Thread.run(Thread.java:831) [?:?]                                                                                                                                                                                                                                        
Caused by: java.util.ConcurrentModificationException                                                                                                                                                                                                                                          
        at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1013) ~[?:?]                                                                                                                                                                                                         
        at java.util.ArrayList$Itr.next(ArrayList.java:967) ~[?:?]                                                                                                                                                                                                                            
        at com.google.common.collect.Iterators$3.next(Iterators.java:174) ~[patched_1.17.1.jar:git-Paper-186]                                                                                                                                                                                 
        at java.util.Iterator.forEachRemaining(Iterator.java:133) ~[?:?]                                                                                                                                                                                                                      
        at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) ~[?:?]                                                                                                                                                                                         
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[?:?]                                                                                                                                                                                                       
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?]                                                                                                                                                                                                
        at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]                                                                                                                                                                                               
        at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]                                                                                                                                                                                         
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]                                                                                                                                                                                                       
        at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]                                                                                                                                                                                                      
        at net.minecraft.world.level.entity.PersistentEntitySectionManager.lambda$updateChunkStatus$6(PersistentEntitySectionManager.java:179) ~[patched_1.17.1.jar:git-Paper-186]                                                                                                            
        at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[?:?]                                                                                                                                                                                                     
        at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[?:?]                                                                                                                                                                                                   
        at java.util.stream.LongPipeline$1$1.accept(LongPipeline.java:177) ~[?:?]                                                                                                                                                                                                             
        at java.util.PrimitiveIterator$OfLong.forEachRemaining(PrimitiveIterator.java:189) ~[?:?]                                                                                                                                                                                             
        at java.util.Spliterators$LongIteratorSpliterator.forEachRemaining(Spliterators.java:2002) ~[?:?]                                                                                                                                                                                     
        at java.util.Spliterator$OfLong.forEachRemaining(Spliterator.java:763) ~[?:?]                                                                                                                                                                                                         
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[?:?]                                                                                                                                                                                                       
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?]                                                                                                                                                                                                
        at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]                                                                                                                                                                                               
        at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]                                                                                                                                                                                         
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]                                                                                                                                                                                                       
        at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]                                                                                                                                                                                                      
        at net.minecraft.world.level.entity.PersistentEntitySectionManager.updateChunkStatus(PersistentEntitySectionManager.java:164) ~[patched_1.17.1.jar:git-Paper-186]                                                                                                                     
        at net.minecraft.world.level.entity.PersistentEntitySectionManager.updateChunkStatus(PersistentEntitySectionManager.java:150) ~[patched_1.17.1.jar:git-Paper-186]                                                                                                                     
        at net.minecraft.server.level.ChunkMap.onFullChunkStatusChange(ChunkMap.java:2112) ~[patched_1.17.1.jar:git-Paper-186]                                                                                                                                                                
        at net.minecraft.server.level.ChunkHolder.demoteFullChunk(ChunkHolder.java:490) ~[app:?]                                                                                                                                                                                              
        at net.minecraft.server.level.ChunkHolder.updateFutures(ChunkHolder.java:639) ~[app:?]                                                                                                                                                                                                
        at net.minecraft.server.level.DistanceManager.runAllUpdates(DistanceManager.java:127) ~[app:?]                                                                                                                                                                                        
        at net.minecraft.server.level.ServerChunkCache.runDistanceManagerUpdates(ServerChunkCache.java:640) ~[app:?]                                                                                                                                                                          
        at net.minecraft.server.level.ServerChunkCache.tick(ServerChunkCache.java:722) ~[app:?]                                                                                                                                                                                               
        at net.minecraft.server.level.ServerLevel.tick(ServerLevel.java:555) ~[app:?]
        at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1553) ~[patched_1.17.1.jar:git-Paper-186]
        at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:479) ~[patched_1.17.1.jar:git-Paper-186]
        at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1406) ~[patched_1.17.1.jar:git-Paper-186]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1188) ~[patched_1.17.1.jar:git-Paper-186]
        ... 2 more
[18:50:19 ERROR]:       Cause of unexpected exception was                                                                                                                                                                                                                                     
java.util.ConcurrentModificationException: null                                                                                                                                                                                                                                               
        at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1013) ~[?:?]                                                                                                                                                                                                         
        at java.util.ArrayList$Itr.next(ArrayList.java:967) ~[?:?]                                                                                                                                                                                                                            
        at com.google.common.collect.Iterators$3.next(Iterators.java:174) ~[patched_1.17.1.jar:git-Paper-186]                                                                                                                                                                                 
        at java.util.Iterator.forEachRemaining(Iterator.java:133) ~[?:?]                                                                                                                                                                                                                      
        at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) ~[?:?]                                                                                                                                                                                         
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[?:?]                                                                                                                                                                                                       
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?]                                                                                                                                                                                                
        at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]                                                                                                                                                                                               
        at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]                                                                                                                                                                                         
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]                                                                                                                                                                                                       
        at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]                                                                                                                                                                                                      
        at net.minecraft.world.level.entity.PersistentEntitySectionManager.lambda$updateChunkStatus$6(PersistentEntitySectionManager.java:179) ~[patched_1.17.1.jar:git-Paper-186]                                                                                                            
        at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[?:?]                                                                                                                                                                                                     
        at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[?:?]                                                                                                                                                                                                   
        at java.util.stream.LongPipeline$1$1.accept(LongPipeline.java:177) ~[?:?]                                                                                                                                                                                                             
        at java.util.PrimitiveIterator$OfLong.forEachRemaining(PrimitiveIterator.java:189) ~[?:?]                                                                                                                                                                                             
        at java.util.Spliterators$LongIteratorSpliterator.forEachRemaining(Spliterators.java:2002) ~[?:?]                                                                                                                                                                                     
        at java.util.Spliterator$OfLong.forEachRemaining(Spliterator.java:763) ~[?:?]                                                                                                                                                                                                         
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[?:?]                                                                                                                                                                                                       
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?]                                                                                                                                                                                                
        at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]                                                                                                                                                                                               
        at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]                                                                                                                                                                                         
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]                                                                                                                                                                                                       
        at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]                                                                                                                                                                                                      
        at net.minecraft.world.level.entity.PersistentEntitySectionManager.updateChunkStatus(PersistentEntitySectionManager.java:164) ~[patched_1.17.1.jar:git-Paper-186]                                                                                                                     
        at net.minecraft.world.level.entity.PersistentEntitySectionManager.updateChunkStatus(PersistentEntitySectionManager.java:150) ~[patched_1.17.1.jar:git-Paper-186]                                                                                                                     
        at net.minecraft.server.level.ChunkMap.onFullChunkStatusChange(ChunkMap.java:2112) ~[patched_1.17.1.jar:git-Paper-186]                                                                                                                                                                
        at net.minecraft.server.level.ChunkHolder.demoteFullChunk(ChunkHolder.java:490) ~[app:?]                                                                                                                                                                                              
        at net.minecraft.server.level.ChunkHolder.updateFutures(ChunkHolder.java:639) ~[app:?]                                                                                                                                                                                                
        at net.minecraft.server.level.DistanceManager.runAllUpdates(DistanceManager.java:127) ~[app:?]                                                                                                                                                                                        
        at net.minecraft.server.level.ServerChunkCache.runDistanceManagerUpdates(ServerChunkCache.java:640) ~[app:?]                                                                                                                                                                          
        at net.minecraft.server.level.ServerChunkCache.tick(ServerChunkCache.java:722) ~[app:?]                                                                                                                                                                                               
        at net.minecraft.server.level.ServerLevel.tick(ServerLevel.java:555) ~[app:?]                                                                                                                                                                                                         
        at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1553) ~[patched_1.17.1.jar:git-Paper-186]                                                                                                                                                                   
        at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:479) ~[patched_1.17.1.jar:git-Paper-186]                                                                                                                                                          
        at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1406) ~[patched_1.17.1.jar:git-Paper-186]                                                                                                                                                                     
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1188) ~[patched_1.17.1.jar:git-Paper-186]                                                                                                                                                                      
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:316) ~[patched_1.17.1.jar:git-Paper-186]
        at java.lang.Thread.run(Thread.java:831) [?:?]
[18:50:19 ERROR]: This crash report has been saved to: /minecraft/./crash-reports/crash-2021-08-20_18.50.19-server.txt
Plugin list

Agrum-Creator, ChestShop, CommandBook, CraftBook, LogBlock, LogBlockQuestioner*, LuckPerms, LWC, MCMailBox, Minequery*, MobArena, Multiverse-Core, Pitfall, ProtocolLib, spark, Vault, VoidGen, WorldEdit, WorldGuard, Ziggy

Actions to reproduce (if known)

No response

Paper version

This server is running Paper version git-Paper-186 (MC: 1.17.1) (Implementing API version 1.17.1-R0.1-SNAPSHOT) (Git: 72ce684)

Agreements
  • I am running the latest version of Paper available from https://papermc.io/downloads.
  • I have searched for and ensured there isn't already an open issue regarding this.
  • My version of Minecraft is supported by Paper.
Other

Not using the latest version of paper, but don't see anything that would have been related to the crash in the builds since. Also a sporadic crash so figured it should still be reported.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Java stack trace around PersistentEntitySectionManager.updateChunkStatus and the reported ConcurrentModificationException during world ticking. Trace the related ChunkMap, ChunkHolder, DistanceManager, ServerChunkCache, and ServerLevel calls; done means identifying the modification and confirming the server no longer crashes while ticking the world.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
18/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.