GeyserMC / Floodgate

Hybrid mode plugin to allow for connections from Geyser to join online mode servers.
https://geysermc.org
MIT License
573 stars 168 forks source link

when i close the server with /stop and this error msg is showing up #494

Open CayanNet opened 6 months ago

CayanNet commented 6 months ago

[io.netty.util.concurrent.DefaultPromise] An exception was thrown by org.geysermc.floodgate.addon.AddonManagerAddon$$Lambda$11944/0x00007efda979fc30.operationComplete() java.lang.NoClassDefFoundError: org/geysermc/floodgate/shadow/com/google/common/cache/LocalCache$StrongWriteEntry at org.geysermc.floodgate.shadow.com.google.common.cache.LocalCache$EntryFactory$3.newEntry(LocalCache.java:470) ~[floodgate-spigot.jar:?] at org.geysermc.floodgate.shadow.com.google.common.cache.LocalCache$Segment.newEntry(LocalCache.java:1984) ~[floodgate-spigot.jar:?] at org.geysermc.floodgate.shadow.com.google.common.cache.LocalCache$Segment.put(LocalCache.java:2835) ~[floodgate-spigot.jar:?] at org.geysermc.floodgate.shadow.com.google.common.cache.LocalCache.put(LocalCache.java:4196) ~[floodgate-spigot.jar:?] at org.geysermc.floodgate.shadow.com.google.common.cache.LocalCache$LocalManualCache.put(LocalCache.java:4880) ~[floodgate-spigot.jar:?] at org.geysermc.floodgate.api.SimpleFloodgateApi.setPendingRemove(SimpleFloodgateApi.java:198) ~[floodgate-spigot.jar:?] at org.geysermc.floodgate.addon.data.SpigotDataAddon.onChannelClosed(SpigotDataAddon.java:69) ~[floodgate-spigot.jar:?] at org.geysermc.floodgate.inject.CommonPlatformInjector.channelClosedCall(CommonPlatformInjector.java:91) ~[floodgate-spigot.jar:?] at org.geysermc.floodgate.addon.AddonManagerAddon.lambda$onInject$0(AddonManagerAddon.java:39) ~[floodgate-spigot.jar:?] at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590) ~[netty-common-4.1.97.Final.jar:4.1.97.Final] at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:583) ~[netty-common-4.1.97.Final.jar:4.1.97.Final] at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:559) ~[netty-common-4.1.97.Final.jar:4.1.97.Final] at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492) ~[netty-common-4.1.97.Final.jar:4.1.97.Final] at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636) ~[netty-common-4.1.97.Final.jar:4.1.97.Final] at io.netty.util.concurrent.DefaultPromise.setSuccess0(DefaultPromise.java:625) ~[netty-common-4.1.97.Final.jar:4.1.97.Final] at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:105) ~[netty-common-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.AbstractChannel$CloseFuture.setClosed(AbstractChannel.java:1164) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.AbstractChannel$AbstractUnsafe.doClose0(AbstractChannel.java:755) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.AbstractChannel$AbstractUnsafe.close(AbstractChannel.java:731) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.AbstractChannel$AbstractUnsafe.close(AbstractChannel.java:620) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.close(DefaultChannelPipeline.java:1352) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeClose(AbstractChannelHandlerContext.java:749) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:727) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at io.netty.handler.flush.FlushConsolidationHandler.close(FlushConsolidationHandler.java:173) ~[netty-handler-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeClose(AbstractChannelHandlerContext.java:751) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:727) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:560) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.DefaultChannelPipeline.close(DefaultChannelPipeline.java:957) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.AbstractChannel.close(AbstractChannel.java:244) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at net.minecraft.network.Connection.disconnect(Connection.java:652) ~[?:?] at net.minecraft.server.network.ServerCommonPacketListenerImpl.lambda$disconnect$2(ServerCommonPacketListenerImpl.java:368) ~[purpur-1.20.4.jar:git-Purpur-2165] at net.minecraft.network.PacketSendListener$1.onSuccess(PacketSendListener.java:12) ~[purpur-1.20.4.jar:git-Purpur-2165] at net.minecraft.network.Connection.lambda$doSendPacket$11(Connection.java:453) ~[?:?] at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590) ~[netty-common-4.1.97.Final.jar:4.1.97.Final] at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:557) ~[netty-common-4.1.97.Final.jar:4.1.97.Final] at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492) ~[netty-common-4.1.97.Final.jar:4.1.97.Final] at io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:185) ~[netty-common-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:95) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:30) ~[netty-transport-4.1.97.Final.jar:4.1.97.Final] at net.minecraft.network.Connection.doSendPacket(Connection.java:451) ~[?:?] at net.minecraft.network.Connection.lambda$sendPacket$10(Connection.java:433) ~[?:?] at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[netty-common-4.1.97.Final.jar:4.1.97.Final] at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[netty-common-4.1.97.Final.jar:4.1.97.Final] at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common-4.1.97.Final.jar:4.1.97.Final] at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:413) ~[netty-transport-classes-epoll-4.1.97.Final.jar:4.1.97.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.97.Final.jar:4.1.97.Final] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.97.Final.jar:4.1.97.Final] at java.lang.Thread.run(Thread.java:840) ~[?:?] Caused by: java.lang.ClassNotFoundException: org.geysermc.floodgate.shadow.com.google.common.cache.LocalCache$StrongWriteEntry at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:199) ~[purpur-api-1.20.4-R0.1-SNAPSHOT.jar:?] at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:166) ~[purpur-api-1.20.4-R0.1-SNAPSHOT.jar:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?] ... 49 more latest.log lobby log

Tim203 commented 5 months ago

If I remember correctly, this happens when you replaced the Floodgate jar (e.g. to update it) before you shut down your server.

bridgelol commented 5 months ago

If I remember correctly, this happens when you replaced the Floodgate jar (e.g. to update it) before you shut down your server.

This has happened for me as well upon rebooting today without updating floodgate

bridgelol commented 5 months ago

I believe this is to do with no (floodgate) player quitting before the server was shutdown, resulting in that class not being loaded, the plugin classloader isn't active during the shutdown hook (afaik, might be wrong).