senseiwells / ServerReplay

A completely server-side implementation of the replay mod, this mod allows you to record multiple players that are online on a server at a time, as well as any given chunk area. This will produce replay files which can then be used with the replay mod for rendering.
MIT License
100 stars 7 forks source link

`/replay view` throws an exception #48

Closed Serverator closed 3 months ago

Serverator commented 3 months ago

Problem

When trying to view a replay with the server command /replay view it throws an exception, that I included below

Versions

Minecraft - 1.21 Replay Mod - 2.6.17 Replay Voice Chat - 1.3.8 Server Replay - 1.1.1

Exception

[00:40:12] [DefaultDispatcher-worker-1/ERROR]: Uncaught exception in thread "DefaultDispatcher-worker-1"
io.netty.util.IllegalReferenceCountException: refCnt: 0, decrement: 1
    at io.netty.util.internal.ReferenceCountUpdater.toLiveRealRefCnt(ReferenceCountUpdater.java:83) ~[netty-common-4.1.97.Final.jar:?]
    at io.netty.util.internal.ReferenceCountUpdater.release(ReferenceCountUpdater.java:148) ~[netty-common-4.1.97.Final.jar:?]
    at io.netty.buffer.AbstractReferenceCountedByteBuf.release(AbstractReferenceCountedByteBuf.java:101) ~[netty-buffer-4.1.97.Final.jar:?]
    at com.replaymod.replaystudio.protocol.Packet.release(Packet.java:104) ~[ServerReplay-1.1.1+mc1.21.jar:?]
    at com.replaymod.replaystudio.PacketData.release(PacketData.java:63) ~[ServerReplay-1.1.1+mc1.21.jar:?]
    at me.senseiwells.replay.viewer.ReplayViewer.sendPackets(ReplayViewer.kt:213) ~[ServerReplay-1.1.1+mc1.21.jar:?]
    at me.senseiwells.replay.viewer.ReplayViewer.streamReplay(ReplayViewer.kt:188) ~[ServerReplay-1.1.1+mc1.21.jar:?]
    at me.senseiwells.replay.viewer.ReplayViewer.access$streamReplay(ReplayViewer.kt:53) ~[ServerReplay-1.1.1+mc1.21.jar:?]
    at me.senseiwells.replay.viewer.ReplayViewer$restart$1.invokeSuspend(ReplayViewer.kt:118) ~[ServerReplay-1.1.1+mc1.21.jar:?]
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) [org_jetbrains_kotlin_kotlin-stdlib-2.0.0-e823d47a24b16be4.jar:?]
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104) [org_jetbrains_kotlinx_kotlinx-coe-jvm-1.8.1-682b081a811ff4e1.jar:?]
    at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584) [org_jetbrains_kotlinx_kotlinx-coe-jvm-1.8.1-682b081a811ff4e1.jar:?]
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:811) [org_jetbrains_kotlinx_kotlinx-coe-jvm-1.8.1-682b081a811ff4e1.jar:?]
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:715) [org_jetbrains_kotlinx_kotlinx-coe-jvm-1.8.1-682b081a811ff4e1.jar:?]
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:702) [org_jetbrains_kotlinx_kotlinx-coe-jvm-1.8.1-682b081a811ff4e1.jar:?]
    Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException
senseiwells commented 3 months ago

This has been fixed in 12718486b7b258169d93e043a33ef1fb8db367c0, it will be in the next release of ServerReplay.

Realzhazha commented 2 months ago

I'm using 1.20.4 (serverreplay 1.1.2), this is still not fixed

senseiwells commented 2 months ago

This should now be properly fixed in 1.1.3