IllegalReferenceCountException on replay cut
i0xHeX opened this issue ยท 5 comments
ReplayMod 2.5.2 (downloaded from official site)
When I try to cut a replay (anyway, one cut insert in the middle for example), it ends up with crash report.
Sample:
BW_2021_03_03_20_01_50_ORIGINAL.zip
---- Minecraft Crash Report ----
// Who set us up the TNT?
Time: 03.03.2021, 20:43
Description: Running marker processor
io.netty.util.IllegalReferenceCountException: refCnt: 0, decrement: 1
at io.netty.buffer.AbstractReferenceCountedByteBuf.release0(AbstractReferenceCountedByteBuf.java:100)
at io.netty.buffer.AbstractReferenceCountedByteBuf.release(AbstractReferenceCountedByteBuf.java:84)
at com.replaymod.replaystudio.protocol.Packet.release(Packet.java:96)
at com.replaymod.replaystudio.PacketData.release(PacketData.java:63)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1510)
at com.replaymod.replaystudio.filter.SquashFilter.release(SquashFilter.java:226)
at com.replaymod.editor.gui.MarkerProcessor.apply(MarkerProcessor.java:258)
at com.replaymod.editor.gui.GuiEditReplay.lambda$apply$10(GuiEditReplay.java:158)
at java.base/java.lang.Thread.run(Thread.java:832)
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- System Details --
Details:
Minecraft Version: 1.16.5
Minecraft Version ID: 1.16.5
Operating System: Windows 10 (amd64) version 10.0
Java Version: 14, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode, sharing), Oracle Corporation
Memory: 185357944 bytes (176 MB) / 1073741824 bytes (1024 MB) up to 1073741824 bytes (1024 MB)
CPUs: 4
JVM Flags: 9 total; -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M -Xmx1024M -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M
Fabric Mods:
clear-skies: Clear Skies 1.5.55
fabric: Fabric API 0.29.0+1.16
fabric-api-base: Fabric API Base 0.2.0+ab87788d3a
fabric-biome-api-v1: Fabric Biome API (v1) 3.1.0+2e23b97c3a
fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.4+6a2618f53a
fabric-command-api-v1: Fabric Command API (v1) 1.0.9+6a2618f53a
fabric-commands-v0: Fabric Commands (v0) 0.2.1+cbe9176f3a
fabric-containers-v0: Fabric Containers (v0) 0.1.9+a03e98793a
fabric-content-registries-v0: Fabric Content Registries (v0) 0.2.0+e77439c73a
fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.1.2+b7f9825d3a
fabric-dimensions-v1: fabric-dimensions-v1 2.0.1+9a6c75813a
fabric-entity-events-v1: Fabric Entity Events (v1) 1.0.0+79b23bee3a
fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.4.1+6a2618f53a
fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.0+6a2618f53a
fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.5+cbe9176f3a
fabric-item-api-v1: Fabric Item API (v1) 1.2.0+6a2618f53a
fabric-item-groups-v0: Fabric Item Groups (v0) 0.2.2+cbe9176f3a
fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.1+730711c63a
fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.0+3fa9f7c53a
fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 1.2.0+ffb68a873a
fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.0.1+6a2618f53a
fabric-mining-levels-v0: Fabric Mining Levels (v0) 0.1.2+6a2618f53a
fabric-models-v0: Fabric Models (v0) 0.2.0+cbe9176f3a
fabric-networking-api-v1: Fabric Networking API (v1) 1.0.0+4358fbc63a
fabric-networking-blockentity-v0: Fabric Networking Block Entity (v0) 0.2.7+a03e98793a
fabric-networking-v0: Fabric Networking (v0) 0.3.1+2a4333d33a
fabric-object-builder-api-v1: Fabric Object Builder API (v1) 1.9.2+6a2618f53a
fabric-object-builders-v0: Fabric Object Builders (v0) 0.7.1+6a2618f53a
fabric-particles-v1: Fabric Particles (v1) 0.2.3+cbe9176f3a
fabric-registry-sync-v0: Fabric Registry Sync (v0) 0.7.3+be155ae23a
fabric-renderer-api-v1: Fabric Renderer API (v1) 0.4.0+cbe9176f3a
fabric-renderer-indigo: Fabric Renderer - Indigo 0.4.3+6a2618f53a
fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 2.2.0+6a2618f53a
fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.1.4+6a2618f53a
fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 0.1.12+6a2618f53a
fabric-rendering-v0: Fabric Rendering (v0) 1.1.1+6a2618f53a
fabric-rendering-v1: Fabric Rendering (v1) 1.5.0+c26373133a
fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.4.0+552549d53a
fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.1.0+6a2618f53a
fabric-structure-api-v1: Fabric Structure API (v1) 1.1.3+cbe9176f3a
fabric-tag-extensions-v0: Fabric Tag Extensions (v0) 1.1.0+e77439c73a
fabric-textures-v0: Fabric Textures (v0) 1.0.5+6a2618f53a
fabric-tool-attribute-api-v1: Fabric Tool Attribute API (v1) 1.2.5+6a2618f53a
fabricloader: Fabric Loader 0.11.1
java: Java HotSpot(TM) 64-Bit Server VM 14
logical_zoom: Logical Zoom 0.0.7
minecraft: Minecraft 1.16.5
modmenu: Mod Menu 1.14.13+build.19
no_fog: No Fog 1.0.2-beta.1+1.16.2
replaymod: Replay Mod 1.16.4-2.5.2
sodium: Sodium 0.1.0
tellme: TellMe 0.9.2
Is there any workaround for now? Even if the recording is without markers, it will throw the exception. Furthermore, the cut recording might be with duplicated players (via B) and map glitches (some chunks are from another worlds combined).
Even if the recording is without markers, it will throw the exception.
No, that's not possible. MarkerProcessor.apply
only executes if there are markers in the replay.
Even if the recording is without markers, it will throw the exception.
No, that's not possible.
MarkerProcessor.apply
only executes if there are markers in the replay.
So, probably this caused by the markers created when you make Insert / End Cut?
You can reproduce the issue with the sample I included above:
- Remove markers (markers.json -> "[]")
- Press Edit on recording
- Press Insert Cut
- Move to 6:40 and press End Cut
- Move to 13:00 and press Insert Cut
- Press Apply
So, probably this caused by the markers created when you make Insert / End Cut?
Ah, yes, the only thing which those buttons do is inserting markers.
The "workaround" would be to just not use the edit feature for replays where it crashes until that's fixed. Depending on why you're trying to use it, you can probably compensate by using Quick Mode instead.
I believe I'm having this same issue. It has happened twice to me. Both times I did the same steps from the editor:
Insert a "CUT" at a marker I had made
Insert an "END CUT" at the end of recording
It's possible the "END CUT" is redundant and unnecessary, but I didn't test that.
Here is the crash report, log and one of the effected recordings
2021_03_30 shop wall build.mcpr.zip
2021-04-06-2.log
crash-2021-04-06_14.33.06-client.txt