Skip to content

Server hang/deadlock if chunk load occurs in onEnable #4693

@RoboMWM

Description

@RoboMWM

What behavior is expected:

no deadlock/eternal hang on server startup

What behavior is observed:

server startup hangs on either multiverse-core if keepspawninmemory is set to true, or if creativeparkour loads up (creativeparkour apparently checks/sets blocks in its world in onEnable).

Steps/models to reproduce:

  • Have plugin load chunks/place blocks or something in a world that causes chunks to be loaded during onEnable
  • That chunk must throw an exception when being loaded (i.e. chunk corruption, e.g. build 236, NBT issue)

Plugin list:

Let me know if you want my 100+ plugin list c:

Paper version:

[Server thread/INFO]: Starting minecraft server version 1.16.3
[Server thread/INFO]: Loading properties
[Server thread/INFO]: This server is running Paper version git-Paper-247 (MC: 1.16.3) (Implementing API version 1.16.3-R0.1-SNAPSHOT)

Anything else:

N​NY​aK​Np​Gm​s0​eU​Vp​iS​dH​z sees a hang on the chunk loading thread to print an error/crash report? - which it needs to get the plugin list - but this is locked by the server thread since it's still enabling plugins.

https://korobi.vq.lc/network/spigot/channel/paper-help/logs/2020/10/26/#L3187

jstack of the relevant threads:

CreativeParkour: https://gist.github.com/RoboMWM/beef47af98a91cba37685c0ba1d8f340
Multiverse: https://gist.github.com/RoboMWM/7c3f90181e11691129b721acef4e0187
RotatoR: https://gist.github.com/RoboMWM/edd98642e0886efa66f6f65e9421fa64

Metadata

Metadata

Assignees

No one assigned

    Labels

    status: acceptedDisputed bug is accepted as valid or Feature accepted as desired to be added.status: input wantedLooking for community feedback on this issue.status: unlikelyUnlikely to ever be worked on due to complexity or risktype: bugSomething doesn't work as it was intended to.version: 1.16Game version 1.16

    Type

    No fields configured for Bug.

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions