Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
/thaw 100000 crashes the server #4289
Client version: 1.12
Some kind of safety net when issuing a command which crashes the server.
Server crashed. The log is
Steps to reproduce the behavior
@NiLSPACE : yes, and that would mean that the server trusts the plugin to never go wrong.
This is probably a matter of philosophy but I believe that the server should be immune to this by limiting what a plugin can request from it (and abort the request, worst case). Or, to put it differently, never trust the user (without offloading this trust on the plugin)
I would say that the deadlock detector is assuming stuff can go wrong and plugins can get caught in an infinite loop, and making sure things are handled in that case. Though aborting might be better than just crashing; I'm not sure how achievable that would be.
as a matter of philosophy, i strongly do not recommend limiting plugin's capabilities.
first thing: plugins are arbitrary code that runs in the server's context. if this code takes a long time for some computation, that's gonna take resources and might block the server. this is not the fault of the server and should not be attempted to be stopped (plus, if a plugin is blocking nonstop, the server can't even abort it without going into undefined state, which is basically why the deadlock detector provokes a crash)