PaperMC / Folia

Fork of Paper which adds regionised multithreading to the dedicated server.
GNU General Public License v3.0
3.56k stars 457 forks source link

Player cant join #77

Closed mani1232 closed 1 year ago

mani1232 commented 1 year ago

Stack trace

[19:54:33 INFO]: vodaept[/test:57686] logged in with entity id 1733 at ([world]937238.162192892, 117.75, 781957.1901814165)
[19:54:33 ERROR]: Thread Netty Epoll Server IO #4 failed main thread check: Cannot read world asynchronously
java.lang.Throwable: null
        at io.papermc.paper.util.TickThread.ensureTickThread(TickThread.java:57) ~[folia-1.19.4.jar:?]
        at org.bukkit.craftbukkit.v1_19_R3.block.CraftBlock.getNMS(CraftBlock.java:86) ~[folia-1.19.4.jar:?]
        at org.bukkit.craftbukkit.v1_19_R3.block.CraftBlock.isEmpty(CraftBlock.java:508) ~[folia-1.19.4.jar:?]
        at com.willfp.libreforge.conditions.impl.ConditionInAir.isMet(ConditionInAir.kt:10) ~[libreforge-4.13.0-all.jar:?]
        at com.willfp.libreforge.conditions.impl.ConditionInAir.isMet(ConditionInAir.kt:8) ~[libreforge-4.13.0-all.jar:?]
        at com.willfp.libreforge.conditions.ConditionBlock.isMet(ConditionBlock.kt:36) ~[libreforge-4.13.0-all.jar:?]
        at com.willfp.libreforge.conditions.ConditionList.getNotMetLines(ConditionList.kt:47) ~[libreforge-4.13.0-all.jar:?]
        at com.willfp.ecoenchants.display.EnchantDisplay.display(EnchantDisplay.kt:82) ~[EcoEnchants v10.12.1.jar:?]
        at com.willfp.eco.core.display.Display.display(Display.java:98) ~[eco-6.59.0-all.jar:?]
        at com.willfp.eco.internal.spigot.proxy.v1_19_R3.common.packet.display.PacketWindowItems.modifyWindowItems(PacketWindowItems.kt:76) ~[eco-6.59.0-all.jar:?]
        at com.willfp.eco.internal.spigot.proxy.v1_19_R3.common.packet.display.PacketWindowItems.onSend(PacketWindowItems.kt:49) ~[eco-6.59.0-all.jar:?]
        at com.willfp.eco.internal.events.EcoEventManagerKt.handleSend(EcoEventManager.kt:23) ~[eco-6.59.0-all.jar:?]
        at com.willfp.eco.internal.spigot.proxy.v1_19_R3.common.packet.EcoChannelDuplexHandler.write(EcoChannelDuplexHandler.kt:39) ~[eco-6.59.0-all.jar:?]
        at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:879) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:863) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
        at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:968) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
        at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:856) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
        at io.netty.channel.ChannelDuplexHandler.write(ChannelDuplexHandler.java:115) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
        at me.neznamy.tab.shared.features.injection.NettyPipelineInjector$TabChannelDuplexHandler.write(NettyPipelineInjector.java:128) ~[TAB-4.0.0-SNAPSHOT.jar:?]
        at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:879) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:863) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
        at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:968) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
        at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:856) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
        at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:120) ~[netty-codec-4.1.87.Final.jar:4.1.87.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:881) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:940) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
        at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:966) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
        at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:934) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
        at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1020) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
        at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:311) ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
        at com.comphenix.protocol.injector.netty.channel.NettyChannelProxy.writeAndFlush(NettyChannelProxy.java:227) ~[ProtocolLib.jar:?]
        at com.comphenix.protocol.injector.netty.channel.NettyChannelProxy.writeAndFlush(NettyChannelProxy.java:233) ~[ProtocolLib.jar:?]
        at net.minecraft.network.Connection.doSendPacket(Connection.java:486) ~[?:?]
        at net.minecraft.network.Connection.lambda$sendPacket$11(Connection.java:460) ~[?:?]
        at com.comphenix.protocol.injector.netty.channel.NettyEventLoopProxy.lambda$proxyRunnable$2(NettyEventLoopProxy.java:48) ~[ProtocolLib.jar:?]
        at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[netty-common-4.1.87.Final.jar:4.1.87.Final]
        at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[netty-common-4.1.87.Final.jar:4.1.87.Final]
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common-4.1.87.Final.jar:4.1.87.Final]
        at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:403) ~[netty-transport-classes-epoll-4.1.87.Final.jar:4.1.87.Final]
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.87.Final.jar:4.1.87.Final]
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.87.Final.jar:4.1.87.Final]
        at java.lang.Thread.run(Thread.java:1589) ~[?:?]
[19:54:33 INFO]: vodaept lost connection: Internal Exception: java.lang.IllegalStateException: Cannot read world asynchronously
[19:54:33 INFO]: [voicechat] Disconnecting client vodaept

Plugin and Datapack List

image

Actions to reproduce (if known)

No response

Folia version

Latest

Other

No response

mani1232 commented 1 year ago

@Spottedleaf it bug by Folia or plugin?

Spottedleaf commented 1 year ago

A plugin tried to read block data while on the Netty IO thread. The reason this is unsafe is because the chunk may not be loaded, and so it could cause a sync chunk load - which would hold up networking.