Skip to content

major issue with chunks #35

@PhanaticD

Description

@PhanaticD

I am using nukkit-gt1.2 build 53 from here: https://ci.potestas.xyz/job/Nukkit-GT1.2/changes

noticed my dedicated server was at full cpu usage: https://gyazo.com/7616952ed5d06da497ac9c6a4a5b8f8c

looked in logs this error was the last thing:

2017-10-14 22:19:17 [ERROR] Error while unloading a chunk: java.lang.RuntimeException: java.util.ConcurrentModificationException^M
2017-10-14 22:19:17 [ALERT] java.lang.RuntimeException: java.util.ConcurrentModificationException
    at cn.nukkit.level.format.anvil.Anvil.saveChunk(Anvil.java:279)
    at cn.nukkit.level.Level.unloadChunk(Level.java:2681)
    at cn.nukkit.level.Level.unloadChunk(Level.java:2641)
    at cn.nukkit.level.Level.unloadChunks(Level.java:2939)
    at cn.nukkit.level.Level.unloadChunks(Level.java:2917)
    at cn.nukkit.level.Level.doTick(Level.java:769)
    at cn.nukkit.Server.checkTickUpdates(Server.java:926)
    at cn.nukkit.Server.tick(Server.java:1001)
    at cn.nukkit.Server.tickProcessor(Server.java:799)
    at cn.nukkit.Server.start(Server.java:778)
    at cn.nukkit.Server.<init>(Server.java:469)
    at cn.nukkit.Nukkit.main(Nukkit.java:68)
Caused by: java.util.ConcurrentModificationException
    at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1211)
    at java.util.TreeMap$KeyIterator.next(TreeMap.java:1265)
    at cn.nukkit.level.Level.getPendingBlockUpdates(Level.java:1302)
    at cn.nukkit.level.Level.getPendingBlockUpdates(Level.java:1291)
    at cn.nukkit.level.format.anvil.Chunk.toBinary(Chunk.java:411)
    at cn.nukkit.level.format.anvil.RegionLoader.writeChunk(RegionLoader.java:143)
    at cn.nukkit.level.format.anvil.Anvil.saveChunk(Anvil.java:277)
    ... 11 more

I tried to run a jstack to get a thread dump

jstack -F 25519 > pocketjstack.txt
sun.jvm.hotspot.oops.UnknownOopException
        at sun.jvm.hotspot.oops.ObjectHeap.newOop(ObjectHeap.java:263)
        at sun.jvm.hotspot.oops.NarrowOopField.getValue(NarrowOopField.java:44)
        at sun.jvm.hotspot.oops.OopUtilities.threadOopGetParkBlocker(OopUtilities.java:306)
        at sun.jvm.hotspot.runtime.JavaThread.getCurrentParkBlocker(JavaThread.java:389)
        at sun.jvm.hotspot.runtime.DeadlockDetector.print(DeadlockDetector.java:82)
        at sun.jvm.hotspot.runtime.DeadlockDetector.print(DeadlockDetector.java:39)
        at sun.jvm.hotspot.tools.StackTrace.run(StackTrace.java:62)
        at sun.jvm.hotspot.tools.StackTrace.run(StackTrace.java:45)
        at sun.jvm.hotspot.tools.JStack.run(JStack.java:66)
        at sun.jvm.hotspot.tools.Tool.startInternal(Tool.java:260)
        at sun.jvm.hotspot.tools.Tool.start(Tool.java:223)
        at sun.jvm.hotspot.tools.Tool.execute(Tool.java:118)
        at sun.jvm.hotspot.tools.JStack.main(JStack.java:92)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at sun.tools.jstack.JStack.runJStackTool(JStack.java:140)
        at sun.tools.jstack.JStack.main(JStack.java:106)

here is that file: https://phanaticmc.com/stuff/pocketjstack.txt

I noticed FastAsyncWorldEdit is in there, so if this tag works: @boy0001 https://github.com/boy0001

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions