games647 / FastLogin

Checks if a minecraft player has a valid paid account. If so, they can skip offline authentication automatically. (premium auto login)
https://www.spigotmc.org/resources/fastlogin.14153
MIT License
482 stars 119 forks source link

FastLogin make Server "Time Out" #1217

Closed At87668 closed 1 week ago

At87668 commented 1 week ago

What happened?

A player join the server, FastLogin checking the packet, but have a "little problem" -- Server be Crash. After server crash, if have a player want to join the server, Spigot will send "Server restarting" to him. But the server not restart, it's jam. My server have "spark" , in now, spark is continuously report "Timed out waiting for world statistics" I must kill the progress "java",than restart my server. It happens too often!

In fact, it have a error: "Error sending packet minecraft:disconnected" , but I'm using "ConsoleSpamFix" , so it not in the logs.

ProtocolLib Version: 5.3.0-SNAPSHOT-723. Minecraft Version: 1.21

Steps to reproduce

1.Install FastLogin and spark to a Spigot Server 2.A player joined the server 3.Server be Crash, spark report "Timed out waiting for world statistics"

Plugin list

MiniMOTD, RedstoneClockPreventer, ColoredSigns, PlaceholderAPI, GroupManager, AtLite, CMILib, PlugMan, spark, ConsoleSpamFix, LaggRemover, ProtocolLib, SkinsRestorer, NoSpawnChunks, PlayerReport, LightAntiCheat, Vault, WorldEdit, WorldEditSUI, Essentials, Multiverse-Core, LockettePro, PlayerTitle, Residence, DeluxeMenus, EssentialsChat, TAB, PvPManager

Configuration file

https://pastebin.com/UCHCUZUY

Server log

https://gist.github.com/At87668/2b61af78cc810ce10c8181be196e3cb5

Plugin version

1.12-SNAPSHOT-29100b5

Platform

Spigot

Relevance

games647 commented 1 week ago
  • Server be Crash.

What do you mean by that? The server crashes at that moment because of it or if a crash happens it doesn't restart correctly?

spark report "Timed out waiting for world statistics"

Yes I can see that server seems to be deadlock waiting on another resource indicated through this line:

[14:18:50] [Spigot Watchdog Thread/ERROR]: PID: 31 | Suspended: false | Native: false | State: TIMED_WAITING

It would be really useful if you could remove ConsoleSpamFix and post what is reported for the thread dump, because currently it's empty.

[14:18:50] [Spigot Watchdog Thread/ERROR]: Entire Thread Dump:

At87668 commented 1 week ago

OK,I removed ConsoleSpamFix.

At87668 commented 1 week ago
  • Server be Crash.

What do you mean by that? The server crashes at that moment because of it or if a crash happens it doesn't restart correctly?

spark report "Timed out waiting for world statistics"

Yes I can see that server seems to be deadlock waiting on another resource indicated through this line:

[14:18:50] [Spigot Watchdog Thread/ERROR]: PID: 31 | Suspended: false | Native: false | State: TIMED_WAITING

It would be really useful if you could remove ConsoleSpamFix and post what is reported for the thread dump, because currently it's empty.

[14:18:50] [Spigot Watchdog Thread/ERROR]: Entire Thread Dump:

Oh my god, is too often. Look: https://gist.github.com/At87668/8cd0b9ec6936dcb97602a0def9e484a5

At87668 commented 1 week ago

As you can see, every crash happens after a player tries to join

games647 commented 1 week ago

Sadly the thread dump is still empty, so it's hard to debug it here. The thread dump is important, because it gives an clear indication where it got stuck.

Could you please test without ConsoleSpamFix including a full restart. Sometimes unloading doesn't completely disables a plugin. Furthermore, you could make a thread dump manually by using the command line

jstack <server-process>

or using tools like VisualVM or Java Mission Control.

Besides, does it only happen with FastLogin installed?

At87668 commented 1 week ago

Sorry, I don't know how this happened, but now it's no longer there. Thanks for your help.