Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Frequent disconnects with exception mentioning DragonAPI. #1017

Closed
AnrDaemon opened this issue Jul 2, 2016 · 30 comments
Closed

Frequent disconnects with exception mentioning DragonAPI. #1017

AnrDaemon opened this issue Jul 2, 2016 · 30 comments

Comments

@AnrDaemon
Copy link

AnrDaemon commented Jul 2, 2016

I'm getting frequent disconnects from server with this kind of backtrace spit on server console:

[15:28:00] [Server thread/ERROR] [FML]: There was a critical exception handling a packet on channel DragonAPIData
java.lang.NullPointerException
        at cpw.mods.fml.common.network.FMLOutboundHandler$OutboundTarget$4.selectNetworks(FMLOutboundHandler.java:109) ~[FMLOutboundHandler$OutboundTarget$4.class:?]
        at cpw.mods.fml.common.network.FMLOutboundHandler.write(FMLOutboundHandler.java:273) ~[FMLOutboundHandler.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:644) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:698) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:637) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:115) ~[MessageToMessageEncoder.class:?]
        at io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116) ~[MessageToMessageCodec.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:644) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:698) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.writeAndFlush(DefaultChannelHandlerContext.java:688) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.writeAndFlush(DefaultChannelHandlerContext.java:717) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:893) ~[DefaultChannelPipeline.class:?]
        at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:239) ~[AbstractChannel.class:?]
        at cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper.sendTo(SimpleNetworkWrapper.java:196) ~[SimpleNetworkWrapper.class:?]
        at Reika.DragonAPI.Instantiable.IO.PacketPipeline.sendToPlayer(PacketPipeline.java:83) ~[PacketPipeline.class:?]
        at Reika.DragonAPI.Libraries.IO.ReikaPacketHelper.sendDataPacket(ReikaPacketHelper.java:250) ~[ReikaPacketHelper.class:?]
        at Reika.DragonAPI.Libraries.IO.ReikaPacketHelper.sendDataPacket(ReikaPacketHelper.java:210) ~[ReikaPacketHelper.class:?]
        at Reika.DragonAPI.Extras.LoginHandler.onPlayerLogout(LoginHandler.java:88) ~[LoginHandler.class:?]
        at Reika.DragonAPI.Auxiliary.Trackers.PlayerHandler.onLogin(PlayerHandler.java:43) ~[PlayerHandler.class:?]
        at cpw.mods.fml.common.eventhandler.ASMEventHandler_512_PlayerHandler_onLogin_PlayerLoggedOutEvent.invoke(.dynamic) ~[?:?]
        at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54) ~[ASMEventHandler.class:?]
        at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140) ~[EventBus.class:?]
        at cpw.mods.fml.common.FMLCommonHandler.firePlayerLoggedOut(FMLCommonHandler.java:555) ~[FMLCommonHandler.class:?]
        at net.minecraft.server.management.ServerConfigurationManager.func_72367_e(ServerConfigurationManager.java:318) ~[oi.class:?]
        at net.minecraft.network.NetHandlerPlayServer.func_147231_a(NetHandlerPlayServer.java:633) ~[nh.class:?]
        at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:158) [nc.class:?]
        at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:659) [MinecraftServer.class:?]
        at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:334) [lt.class:?]
        at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547) [MinecraftServer.class:?]
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427) [MinecraftServer.class:?]
        at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [li.class:?]
[15:28:00] [Server thread/INFO]: AnrDaemon lost connection: TextComponent{text='A fatal error has occured, this connection is terminated', siblings=[], style=Style{hasParent=false, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null}}
[15:28:00] [Server thread/INFO]: AnrDaemon left the game

There's no other of your mods installed on client, only DragonAPI (to support server-installed CaveControl).
Full list of mods:

Common:
Forge 1.7.10-1614
AOBD-2.9.2.jar
AOBDBB-1.0.6.jar
appliedenergistics2-rv2-stable-10.jar
backpack-2.0.1-1.7.x.jar
BiblioCraft[v1.11.5][MC1.7.10].jar
binnie-mods-2.0-pre14.jar
Binnie Patcher 1.8.jar
Carpenter's Blocks v3.3.8 - MC 1.7.10.jar
catwalks-2.0.4.jar
ChickenChunks-1.7.10-1.3.4.19-universal.jar
CodeChickenCore-1.7.10-1.0.7.47-universal.jar
CoFHCore-[1.7.10]3.1.2-325.jar
ComputerCraft1.75.jar
DragonAPI 1.7.10 V15a.jar
EnchantingPlus-1.7.10-3.0.2-d.jar
EnderCore-1.7.10-0.2.0.36_beta.jar
EnderIO-1.7.10-2.3.0.427_beta.jar
EnderStorage-1.7.10-1.4.7.38-universal.jar
EnhancedPortals_1.7.10-universal-3.0.12.jar
ExtraCells-1.7.10-2.3.13b196.jar
extrautilities-1.2.12.jar
forestry_1.7.10-4.2.14.62.jar
Galacticraft-Planets-1.7-3.0.12.460.jar
GalacticraftCore-1.7-3.0.12.460.jar
Highlands-1.7.2-v-2.2.3.jar
Highlands.Integrator-1.7.10-0.1.0-2-universal.jar
InventoryTweaks-1.59-dev-152.jar
ironchest-1.7.10-6.0.62.742-universal.jar
Jabba-1.2.2_1.7.10.jar
journeymap-1.7.10-5.1.4p1-unlimited.jar
magicbees-1.7.10-2.4.3.jar
malisiscore-1.7.10-0.14.3.jar
malisisdoors-1.7.10-1.13.2.jar
Mantle-1.7.10-0.3.2b.jar
MicdoodleCore-1.7-3.0.12.460.jar
MineFactoryReloaded-[1.7.10]2.8.2B1-191.jar
MineTweaker3-1.7.10-3.0.10B.jar
MobiusCore-1.2.5_1.7.10.jar
ModTweaker2-0.9.5.jar
neiaddons-1.12.10.33-mc1.7.10.jar
NEIIntegration-MC1.7.10-1.1.2.jar
NetherOres-[1.7.10]2.3.1-22.jar
NodalMechanics-1.7-1.0-10.jar
NotEnoughItems-1.7.10-1.0.5.120-universal.jar
OpenBlocks-1.7.10-1.5.1.jar
OpenModsLib-1.7.10-0.9.1.jar
OpenPeripheralAddons-1.7.10-0.5.1.jar
OpenPeripheralCore-1.7.10-1.3.jar
OpenPeripheralIntegration-1.7.10-0.5.jar
PlayerAPI-1.7.10-1.4.jar
ProjectBlue-1.1.6-mc1.7.10.jar
ProjectRed-1.7.10-4.7.0pre12.95-Base.jar
ProjectRed-1.7.10-4.7.0pre12.95-Compat.jar
ProjectRed-1.7.10-4.7.0pre12.95-Integration.jar
ProjectRed-1.7.10-4.7.0pre12.95-Lighting.jar
ProjectRed-1.7.10-4.7.0pre12.95-World.jar
TConstruct-1.7.10-1.8.8.jar
Thaumcraft-1.7.10-4.2.3.5.jar
thaumcraftneiplugin-1.7.10-1.7a.jar
thaumicenergistics-1.0.0.5-RV2.jar
ThaumicTinkerer-2.5-1.7.10-526.jar
ThermalDynamics-[1.7.10]1.2.0-171.jar
ThermalExpansion-[1.7.10]4.1.2-240.jar
ThermalFoundation-[1.7.10]1.2.4-114.jar
TMechworks-1.7.10-0.2.15.106.jar
TravellersGear-1.7.10-1.16.6.jar
Waila-1.5.10_1.7.10.jar
WailaHarvestability-mc1.7.10-1.1.6.jar
WAILAPlugins-MC1.7.10-0.2.0-23.jar
Wawla-1.0.5.120.jar
WitchingGadgets-1.7.10-1.1.10.jar
WR-CBE-1.7.10-1.4.1.9-universal.jar

Server only:
CaveControl 1.7.10 V15a.jar
Dynmap-2.3-forge-1.7.10.jar
forgeessentials-1.7.10-1.4.4.1182-server.jar

Client only:
AutoRun-1.7.10-1.1.0.jar
forgeessentials-1.7.10-1.4.4.1182-client.jar
InGameInfoXML-1.7.10-2.8.1.82-universal.jar
LunatriusCore-1.7.10-1.1.2.21-universal.jar
OptiFine_1.7.10_HD_U_D6.jar
TiCTooltips-mc1.7.10-1.2.5.jar
UnicodeFontFixer-1.1.12-mc1.7.10.jar

Client keeps running, so do server, and I can reconnect immediately.
This is a superflat world, if that makes a difference.

What else I noticed, I got a friend on server that time out often due to their unstable internet (China/hotel WiFi), and I often disconnect shortly thereafter.

@ReikaKalseki
Copy link
Owner

Try adding TerritoryZone to the client.

@AnrDaemon
Copy link
Author

Um, I hope you did mean CaveControl.
And to be absolutely clear, I've played this setup for a few weeks, and never got a disconnect, until a friend started to drop like a moth.

@AnrDaemon
Copy link
Author

AnrDaemon commented Jul 3, 2016

Unfortunately, did not helped.
Except there's no longer a backtrace printed.

[16:21:34] [Netty IO #1/ERROR] [FML/]: NetworkDispatcher exception
io.netty.handler.timeout.ReadTimeoutException
[16:21:34] [Server thread/DEBUG] [NotEnoughItems/]: Unloading Player: LovelyFlare
[16:21:34] [Server thread/ERROR] [FML/]: FMLIndexedMessageCodec exception caught
java.lang.NullPointerException
[16:21:34] [Server thread/ERROR] [FML/]: SimpleChannelHandlerWrapper exception
java.lang.NullPointerException
[16:21:37] [Server thread/ERROR] [FML/]: There was a critical exception handling a packet on channel DragonAPIData
java.lang.NullPointerException
[16:21:37] [Server thread/DEBUG] [NotEnoughItems/]: Unloading Player: AnrDaemon

The friend drops, then, seconds later, it kicks me, when I try to move or use something.

I did install CaveControl on my client.

@TomeWyrm
Copy link
Collaborator

TomeWyrm commented Jul 3, 2016

Do you have TerritoryZone on the server?

@AnrDaemon
Copy link
Author

I don't have TerritoryZone, never had it, and I see no reason to have it, not on client, nor on server.

@TomeWyrm
Copy link
Collaborator

TomeWyrm commented Jul 3, 2016

Well, try adding it to the client anyway? Reika doesn't usually derp up the names of his own mods. This is testing, and without the mod on the server it won't do anything as far as I recall.

@ReikaKalseki
Copy link
Owner

I in fact did derp the name. I am also surprised CaveControl can tolerate serverside-only installation.

@AnrDaemon
Copy link
Author

I am also surprised CaveControl can tolerate serverside-only installation.

But you did made it so on my earlier request :D

Anyway, any more ideas to check?

@ReikaKalseki
Copy link
Owner

ReikaKalseki commented Jul 3, 2016

DragonAPI is trying to send a packet to a invalid, likely fake, player.

Wait...you said that this happens when he logs out, right? Does it happen only on unplanned disconnects, or also normal quits?

@AnrDaemon
Copy link
Author

Can I see, which player?

@ReikaKalseki
Copy link
Owner

No.

@AnrDaemon
Copy link
Author

It always happens, when the other client times out.
Sometimes it even happens if I login right after the other client D/C.
I.e., other client time out, I login within 10 seconds (approx.) and immediately get booted from a server.
I relog instantly and it is just all well like nothing happened, except I see in the chat that the other cleint just D/C'd.

@ReikaKalseki
Copy link
Owner

ReikaKalseki commented Jul 4, 2016

I have a potential idea as to a cause, but the thing is that, if true, it should be kicking everyone every time a player logs out, and this should have happened since v12.

@AnrDaemon
Copy link
Author

Well, I discovered it on v14 x.x I held back until I had a moment to roll an update, hoping it would somehow dissolve itself. But if you say so…
If there's anything I can do, provide test results, or something, let me know.

@ReikaKalseki
Copy link
Owner

Does it happen without CaveControl installed?

@AnrDaemon
Copy link
Author

Will have to test…

@AnrDaemon
Copy link
Author

I can't simulate the situation for testing. :/
But while reading logs of the past crashes very carefully, I noticed Forge complaining about bad packets and "assuming vanila behavior". Could it be that the issue was caused by packet corruption?

@ReikaKalseki
Copy link
Owner

?

@AnrDaemon
Copy link
Author

I'll have to sleep on it. Without a way to reproduce the issue on demand, it's impossible to tell where it lies or if any change has fixed it.

@ReikaKalseki
Copy link
Owner

Wait, but not able to replicate, you mean it has gone away, not that you cannot create a test instance?

@AnrDaemon
Copy link
Author

I can't replicate it on demand, and can no longer experience it in the wild due to non-technical circumstances.
I'll experiment with my network and try to get identical behavior in-lab. No promises though. Being a "fixer" all my life, I'm bad at breaking stuff on purpose.
And regarding the exact wording of message I was referencing to earlier,

[15:23:56] [Netty IO #2/INFO] [FML]: Unexpected packet during modded negotiation - assuming vanilla or keepalives : net.minecraft.network.play.client.C00PacketKeepAlive

@ReikaKalseki
Copy link
Owner

Closed unless it starts happening reliably again.

@ghost
Copy link

ghost commented Oct 2, 2016

Unfortunatelly, this started happening for me on my local 2-player server as well. This only happens when I hop from one dimension to another (namely, between two mystcraft dimensions) and interract with any blocks. It does not happen every single time, but it does happen almost every time when I open up AE2 terminal or interface for Extractor right after changing dimensions. Does not happen when other player does so. Difference between me and other player is I do some Chromaticraft, she does not. Can't provide more info - same logs as @AnrDaemon - and it boots both of players.

@ghost
Copy link

ghost commented Oct 2, 2016

Disregard previous comment (removed that one), that was a mystcraft mining world erroring out for some reason.

This is relevant log bit that in fact mentions chromaticraft and happens when both of us get booted:

[03:12:16] [Server thread/ERROR] [FML/]: There was a critical exception handling a packet on channel DragonAPIData
java.lang.NullPointerException
        at cpw.mods.fml.common.network.FMLOutboundHandler$OutboundTarget$4.selectNetworks(FMLOutboundHandler.java:109) ~[FMLOutboundHandler$OutboundTarget$4.class:?]
        at cpw.mods.fml.common.network.FMLOutboundHandler.write(FMLOutboundHandler.java:273) ~[FMLOutboundHandler.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:644) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:698) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:637) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:115) ~[MessageToMessageEncoder.class:?]
        at io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116) ~[MessageToMessageCodec.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:644) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:698) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.writeAndFlush(DefaultChannelHandlerContext.java:688) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.writeAndFlush(DefaultChannelHandlerContext.java:717) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:893) ~[DefaultChannelPipeline.class:?]
        at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:239) ~[AbstractChannel.class:?]
        at cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper.sendTo(SimpleNetworkWrapper.java:196) ~[SimpleNetworkWrapper.class:?]
        at Reika.DragonAPI.Instantiable.IO.PacketPipeline.sendToPlayer(PacketPipeline.java:83) ~[PacketPipeline.class:?]
        at Reika.DragonAPI.Instantiable.IO.PacketTarget$PlayerTarget.dispatch(PacketTarget.java:38) ~[PacketTarget$PlayerTarget.class:?]
        at Reika.DragonAPI.Libraries.IO.ReikaPacketHelper.sendNBTPacket(ReikaPacketHelper.java:1390) ~[ReikaPacketHelper.class:?]
        at Reika.DragonAPI.Libraries.ReikaPlayerAPI.syncCustomData(ReikaPlayerAPI.java:271) ~[ReikaPlayerAPI.class:?]
        at Reika.ChromatiCraft.Magic.PlayerElementBuffer.setElementCap(PlayerElementBuffer.java:207) ~[PlayerElementBuffer.class:?]
        at Reika.ChromatiCraft.Magic.PlayerElementBuffer.addToPlayer(PlayerElementBuffer.java:87) ~[PlayerElementBuffer.class:?]
        at Reika.ChromatiCraft.Magic.PlayerElementBuffer.addToPlayer(PlayerElementBuffer.java:99) ~[PlayerElementBuffer.class:?]
        at Reika.ChromatiCraft.ChromaticEventManager.wispEnergy(ChromaticEventManager.java:935) ~[ChromaticEventManager.class:?]
        at cpw.mods.fml.common.eventhandler.ASMEventHandler_380_ChromaticEventManager_wispEnergy_LivingDropsEvent.invoke(.dynamic) ~[?:?]
        at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54) ~[ASMEventHandler.class:?]
        at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140) ~[EventBus.class:?]
        at net.minecraftforge.common.ForgeHooks.onLivingDrops(ForgeHooks.java:308) ~[ForgeHooks.class:?]
        at net.minecraft.entity.EntityLivingBase.func_70645_a(EntityLivingBase.java:939) ~[sv.class:?]
        at thaumcraft.common.entities.monster.EntityWisp.func_70645_a(EntityWisp.java:103) ~[EntityWisp.class:?]
        at net.minecraft.entity.EntityLivingBase.func_70097_a(EntityLivingBase.java:855) ~[sv.class:?]
        at thaumcraft.common.entities.monster.EntityWisp.func_70097_a(EntityWisp.java:89) ~[EntityWisp.class:?]
        at Reika.RotaryCraft.TileEntities.Farming.TileEntityMobHarvester.updateEntity(TileEntityMobHarvester.java:58) ~[TileEntityMobHarvester.class:?]
        at Reika.DragonAPI.Base.TileEntityBase.func_145845_h(TileEntityBase.java:465) ~[TileEntityBase.class:?]
        at net.minecraft.world.World.func_72939_s(World.java:1939) ~[ahb.class:?]
        at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:489) ~[mt.class:?]
        at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:636) [MinecraftServer.class:?]
        at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:334) [lt.class:?]
        at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547) [MinecraftServer.class:?]
        at fastcraft.at.a(F:978) [fastcraft-1.23.jar:?]
        at fastcraft.H.aq(F:36) [fastcraft-1.23.jar:?]
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:396) [MinecraftServer.class:?]
        at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [li.class:?]

@TomeWyrm
Copy link
Collaborator

TomeWyrm commented Oct 2, 2016

That log mentions fastcraft... that makes me wary. Can you replicate without fastcraft?

@ghost
Copy link

ghost commented Oct 2, 2016

yup.

[15:38:34] [Server thread/ERROR] [FML]: There was a critical exception handling a packet on channel DragonAPIData
java.lang.NullPointerException
        at cpw.mods.fml.common.network.FMLOutboundHandler$OutboundTarget$4.selectNetworks(FMLOutboundHandler.java:109) ~[FMLOutboundHandler$OutboundTarget$4.class:?]
        at cpw.mods.fml.common.network.FMLOutboundHandler.write(FMLOutboundHandler.java:273) ~[FMLOutboundHandler.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:644) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:698) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:637) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:115) ~[MessageToMessageEncoder.class:?]
        at io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116) ~[MessageToMessageCodec.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:644) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:698) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.writeAndFlush(DefaultChannelHandlerContext.java:688) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelHandlerContext.writeAndFlush(DefaultChannelHandlerContext.java:717) ~[DefaultChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:893) ~[DefaultChannelPipeline.class:?]
        at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:239) ~[AbstractChannel.class:?]
        at cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper.sendTo(SimpleNetworkWrapper.java:196) ~[SimpleNetworkWrapper.class:?]
        at Reika.DragonAPI.Instantiable.IO.PacketPipeline.sendToPlayer(PacketPipeline.java:83) ~[PacketPipeline.class:?]
        at Reika.DragonAPI.Instantiable.IO.PacketTarget$PlayerTarget.dispatch(PacketTarget.java:38) ~[PacketTarget$PlayerTarget.class:?]
        at Reika.DragonAPI.Libraries.IO.ReikaPacketHelper.sendNBTPacket(ReikaPacketHelper.java:1390) ~[ReikaPacketHelper.class:?]
        at Reika.DragonAPI.Libraries.ReikaPlayerAPI.syncCustomData(ReikaPlayerAPI.java:271) ~[ReikaPlayerAPI.class:?]
        at Reika.ChromatiCraft.Magic.PlayerElementBuffer.setElementCap(PlayerElementBuffer.java:207) ~[PlayerElementBuffer.class:?]
        at Reika.ChromatiCraft.Magic.PlayerElementBuffer.addToPlayer(PlayerElementBuffer.java:87) ~[PlayerElementBuffer.class:?]
        at Reika.ChromatiCraft.Magic.PlayerElementBuffer.addToPlayer(PlayerElementBuffer.java:99) ~[PlayerElementBuffer.class:?]
        at Reika.ChromatiCraft.ChromaticEventManager.wispEnergy(ChromaticEventManager.java:935) ~[ChromaticEventManager.class:?]
        at cpw.mods.fml.common.eventhandler.ASMEventHandler_324_ChromaticEventManager_wispEnergy_LivingDropsEvent.invoke(.dynamic) ~[?:?]
        at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54) ~[ASMEventHandler.class:?]
        at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140) ~[EventBus.class:?]
        at net.minecraftforge.common.ForgeHooks.onLivingDrops(ForgeHooks.java:308) ~[ForgeHooks.class:?]
        at net.minecraft.entity.EntityLivingBase.func_70645_a(EntityLivingBase.java:939) ~[sv.class:?]
        at thaumcraft.common.entities.monster.EntityWisp.func_70645_a(EntityWisp.java:103) ~[EntityWisp.class:?]
        at net.minecraft.entity.EntityLivingBase.func_70097_a(EntityLivingBase.java:855) ~[sv.class:?]
        at thaumcraft.common.entities.monster.EntityWisp.func_70097_a(EntityWisp.java:89) ~[EntityWisp.class:?]
        at Reika.RotaryCraft.TileEntities.Farming.TileEntityMobHarvester.updateEntity(TileEntityMobHarvester.java:58) ~[TileEntityMobHarvester.class:?]
        at Reika.DragonAPI.Base.TileEntityBase.func_145845_h(TileEntityBase.java:465) ~[TileEntityBase.class:?]
        at net.minecraft.world.World.func_72939_s(World.java:1939) ~[ahb.class:?]
        at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:489) ~[mt.class:?]
        at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:636) [MinecraftServer.class:?]
        at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:334) [lt.class:?]
        at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547) [MinecraftServer.class:?]
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427) [MinecraftServer.class:?]
        at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [li.class:?]

Also, it is probably worth mentioning that

a) this started happening after I've set up a mob farm in rainbow forest biome, using cursed earth from EU
b) it mentions wisps, and it is true that a lot of wisps are spawned by said mob farm
c) I have following thaumcraft addons installed:

ElectroMagicTools-1.2.6.1[1.7.10].jar
BotanicalAddons-r0.1.20-1.jar
Thaumcraft-1.7.10-4.2.3.5.jar
thaumcraftneiplugin-1.7.10-1.7a.jar
thaumicenergistics-1.0.0.5-RV2.jar
ThaumicTinkerer-2.5-1.7.10-517.jar
WitchingGadgets-1.7.10-1.1.10.jar
arcane_engineering-0.2.7.jar

I think out of them botanical additions add new aspect, which might lead to this, since Reika.ChromatiCraft.ChromaticEventManager.wispEnergy does check the aspects and might be not aware about new one added by BA. Not exactly sure that it is in fact BA, though.

Trying to reproduce w/ disabled BA aspect.

@ghost
Copy link

ghost commented Oct 2, 2016

Disabling BA aspect didn't help much.

@ReikaKalseki
Copy link
Owner

As of v16, this one might turn into a crash. Or it might be fixed entirely.

@AnrDaemon
Copy link
Author

Sounds… promising… ugh…

@ogurets
Copy link

ogurets commented Dec 18, 2017

I could probably shed some light on this. Having this issue with a totally different modset, here's the trace:

[20:43:49] [main/ERROR] [FML/]: FMLIndexedMessageCodec exception caught
java.lang.NullPointerException: null
	at net.minecraftforge.fml.common.network.FMLOutboundHandler$OutboundTarget$7.selectNetworks(FMLOutboundHandler.java:216) ~[FMLOutboundHandler$OutboundTarget$7.class:?]
	at net.minecraftforge.fml.common.network.FMLOutboundHandler.write(FMLOutboundHandler.java:297) ~[FMLOutboundHandler.class:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) ~[AbstractChannelHandlerContext.class:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:730) ~[AbstractChannelHandlerContext.class:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:816) ~[AbstractChannelHandlerContext.class:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:723) ~[AbstractChannelHandlerContext.class:4.1.9.Final]
	at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:111) ~[MessageToMessageEncoder.class:4.1.9.Final]
	at io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116) ~[MessageToMessageCodec.class:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) ~[AbstractChannelHandlerContext.class:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:801) ~[AbstractChannelHandlerContext.class:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:814) ~[AbstractChannelHandlerContext.class:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:794) ~[AbstractChannelHandlerContext.class:4.1.9.Final]
	at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:831) ~[AbstractChannelHandlerContext.class:4.1.9.Final]
	at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1032) ~[DefaultChannelPipeline.class:4.1.9.Final]
	at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:296) ~[AbstractChannel.class:4.1.9.Final]
	at net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper.sendToAllAround(SimpleNetworkWrapper.java:263) [SimpleNetworkWrapper.class:?]
	at com.animania.common.events.ItemSeedHandler.onRightClickBlock(ItemSeedHandler.java:187) [ItemSeedHandler.class:?]
	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_62_ItemSeedHandler_onRightClickBlock_RightClickBlock.invoke(.dynamic) [?:?]
	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) [ASMEventHandler.class:?]
	at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:179) [EventBus.class:?]
	at net.minecraftforge.common.ForgeHooks.onRightClickBlock(ForgeHooks.java:1102) [ForgeHooks.class:?]
	at net.minecraft.client.multiplayer.PlayerControllerMP.func_187099_a(PlayerControllerMP.java:398) [bsa.class:?]
	at net.minecraft.client.Minecraft.func_147121_ag(Minecraft.java:1577) [bib.class:?]
	at net.minecraft.client.Minecraft.func_184117_aA(Minecraft.java:2252) [bib.class:?]
	at net.minecraft.client.Minecraft.func_184118_az(Minecraft.java:2018) [bib.class:?]
	at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1806) [bib.class:?]
	at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1096) [bib.class:?]
	at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:397) [bib.class:?]
	at net.minecraft.client.main.Main.main(SourceFile:123) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_151]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_151]
	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
	at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]

But the Animania mod has nothing to do with this in fact, neither does your mod. Here's how it happens - I'm playing with a friend too, on my own server residing on a differrent PC in the same room. A friend is also on my LAN, but connects via the laggy Wifi channel. Not SO laggy that it drops packets, but, let's say, sometimes a ping time spikes above 300ms. Now when he times out (due to these lags), the server starts spamming the logs and the console with "[Netty Server IO #4/ERROR] [FML]: NetworkDispatcher exception" message. Tons of them! And each one with a stack trace. The server becomes so busy with these logs that it totally forgetting about me too, and bam - I'm also timed out.

The problem also seems to depend on traffic. When there's a lot of data to transmit (in a very densely built or populated areas) the timeouts happen more often.

This is a networking-, possibly Forge-related issue. I'll try to gather more solid data and show it to the Forge authors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants