Skip to content
This repository was archived by the owner on May 15, 2025. It is now read-only.
This repository was archived by the owner on May 15, 2025. It is now read-only.

StackOverflowError (client disconnect) when moving frames #101

@chris54721

Description

@chris54721

Mod version: 0.0.3 (MC 1.10.2)
Forge version: 12.18.2.2125
Modpack: All the Mods 1.45

Description
When moving a frame in any way, nearby clients are kicked from the server.
Clients which don't have the frames in range do not experience this.
Note that the frames actually get moved on the server.

Steps to reproduce
Try moving frames, even with no connections to other blocks, using a Pusher, Slider, etc. in any direction.

Relevant server log:

[22:52:29] [Netty Epoll Server IO #2/ERROR]: java.lang.StackOverflowError
[22:52:29] [Netty Epoll Server IO #0/ERROR]: java.lang.StackOverflowError
[22:52:29] [Netty Epoll Server IO #2/ERROR]: java.lang.StackOverflowError
[22:52:29] [Netty Epoll Server IO #0/ERROR]: java.lang.StackOverflowError
[22:52:29] [Netty Epoll Server IO #2/ERROR]: java.lang.StackOverflowError
[22:52:29] [Netty Epoll Server IO #2/ERROR] [FML]: NetworkDispatcher exception
java.io.IOException: Error while write(...): Broken pipe
        at io.netty.channel.epoll.Native.writeAddress(Native Method) ~[Native.class:?]
        at io.netty.channel.epoll.EpollSocketChannel.writeBytes(EpollSocketChannel.java:125) ~[EpollSocketChannel.class:?]
        at io.netty.channel.epoll.EpollSocketChannel.doWriteSingle(EpollSocketChannel.java:337) ~[EpollSocketChannel.class:?]
        at io.netty.channel.epoll.EpollSocketChannel.doWrite(EpollSocketChannel.java:325) ~[EpollSocketChannel.class:?]
        at io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:707) ~[AbstractChannel$AbstractUnsafe.class:?]
        at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.flush0(AbstractEpollChannel.java:240) ~[AbstractEpollChannel$AbstractEpollUnsafe.class:?]
        at io.netty.channel.AbstractChannel$AbstractUnsafe.flush(AbstractChannel.java:676) ~[AbstractChannel$AbstractUnsafe.class:?]
        at io.netty.channel.DefaultChannelPipeline$HeadContext.flush(DefaultChannelPipeline.java:1059) ~[DefaultChannelPipeline$HeadContext.class:?]
        at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:688) ~[AbstractChannelHandlerContext.class:?]
        at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:669) ~[AbstractChannelHandlerContext.class:?]
        at io.netty.channel.ChannelOutboundHandlerAdapter.flush(ChannelOutboundHandlerAdapter.java:115) ~[ChannelOutboundHandlerAdapter.class:?]
        at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:688) ~[AbstractChannelHandlerContext.class:?]
        at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:669) ~[AbstractChannelHandlerContext.class:?]
        at io.netty.channel.ChannelOutboundHandlerAdapter.flush(ChannelOutboundHandlerAdapter.java:115) ~[ChannelOutboundHandlerAdapter.class:?]
        at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:688) ~[AbstractChannelHandlerContext.class:?]
        at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:669) ~[AbstractChannelHandlerContext.class:?]
        at io.netty.channel.ChannelOutboundHandlerAdapter.flush(ChannelOutboundHandlerAdapter.java:115) ~[ChannelOutboundHandlerAdapter.class:?]
        at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:688) ~[AbstractChannelHandlerContext.class:?]
        at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:669) ~[AbstractChannelHandlerContext.class:?]
        at io.netty.channel.ChannelOutboundHandlerAdapter.flush(ChannelOutboundHandlerAdapter.java:115) ~[ChannelOutboundHandlerAdapter.class:?]
        at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:688) ~[AbstractChannelHandlerContext.class:?]
        at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:669) ~[AbstractChannelHandlerContext.class:?]
        at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.flush(NetworkDispatcher.java:547) ~[NetworkDispatcher.class:?]
        at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:688) ~[AbstractChannelHandlerContext.class:?]
        at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:718) ~[AbstractChannelHandlerContext.class:?]
        at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:706) ~[AbstractChannelHandlerContext.class:?]
        at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:741) ~[AbstractChannelHandlerContext.class:?]
        at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:895) ~[DefaultChannelPipeline.class:?]
        at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:240) ~[AbstractChannel.class:?]
        at net.minecraft.network.NetworkManager$4.run(NetworkManager.java:247) [eo$4.class:?]
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:380) [SingleThreadEventExecutor.class:?]
        at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:268) [EpollEventLoop.class:?]
        at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) [SingleThreadEventExecutor$2.class:?]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_92-internal]
[22:52:29] [Netty Epoll Server IO #0/ERROR]: java.lang.StackOverflowError
[22:52:29] [Netty Epoll Server IO #2/ERROR]: java.lang.StackOverflowError
[22:52:29] [Server thread/INFO]: Chris54721 lost connection: TranslatableComponent{key='disconnect.genericReason', args=[Internal Exception: java.io.IOException: Error while write(...): Broken pipe], siblings=[], style=Style{hasParent=false, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}
[22:52:29] [Server thread/INFO]: Chris54721 left the game

Relevant client log:
Nearby clients get kicked from the server with the following message:

java.lang.RuntimeException: Tried to read NBT tag with too high complexity, depth > 512

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions