Create: Steam 'n' Rails

Create: Steam 'n' Rails

20M Downloads

ConductorEntity.read() ArrayIndexOutOfBoundsException

Mirsario opened this issue ยท 18 comments

commented

Greetings. Using quilt-loader-0.19.1-1.19.2 MC/loader, Create Fabric v0.5.1.b Patch 2, and Steam N' Rails v1.4.2 (now with v1.4.3 too) I'm encountering an issue with clients getting disconnected from my server with

[18:02:35] [Netty Client IO #1/ERROR]: Exception occurred in netty pipeline
io.netty.handler.codec.DecoderException: java.lang.ArrayIndexOutOfBoundsException: Index 10 out of bounds for length 4
...
Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 10 out of bounds for length 4
	at net.minecraft.class_2540.method_10818(class_2540.java:429) ~[transformed-mod-minecraft.i0:0/:?]
	at com.railwayteam.railways.content.conductor.ConductorEntity$1.read(ConductorEntity.java:279) ~[transformed-mod-railways.i0:0/:?]
	at com.railwayteam.railways.content.conductor.ConductorEntity$1.method_12716(ConductorEntity.java:273) ~[transformed-mod-railways.i0:0/:?]
	at net.minecraft.class_2945.method_12777(class_2945.java:222) ~[transformed-mod-minecraft.i0:0/:?]
...

(Nothing relevant has been logged on the server.)

I've tried self-building recent commits (9580262), but that didn't solve the issue.

Here's my mod list (from the self-built test) if it matters: mods.log
The only thing about it that is worth noting is that I'm using Krypton, but not a single mod out of that giant mod list had issues from it.

Update

See #174 (comment) for definite reproduction & cause.

commented

This is weird data stuff I'll see if I can reproduce this

commented

The train whose entities I assume triggered this was created and "assembled" before the Rails addon's installation, with just Create. The disconnects started occurring right after the addon has been installed, with nothing really changed about the train or the world. I just rode on it for a bit I guess.

commented

Please try updating to SnR 1.4.3, and make sure your clients are using the same modloader as the server - quilt server and fabric client or vice-versa should work in SnR 1.4.4, but that isn't released yet.

commented

O heck, it may actually be a Krypton conflict! Having disabled it, I was able to walk next to and use trains for 10 minutes hours now with no issues. But chunk synchronization at server distance of 32 is a terrible slog without it.

There is, however, 3 Received passengers for unknown entity lines appearing in the latest.log still. Are they even from this mod?

that seems to be just either minecraft or create and should be able to be ignored without any issues

commented

Why close the issue? The Krypton conflict is still to be investigated, I'm able to reproduce the crash by readding it, will check soon in a minimal environment.

commented

Excuse the delay, was busy. The server and clients were and are using the same quilt-loader version that I mentioned. I just tried tried the official 1.4.3, and I get the same exception + disconnect, but now there's a Received passengers for unknown entity line printed before and after on the client. Nothing in the server printout.

Relevant log portion: SteamAndRails-1.4.3.log
Full latest.log, quite a mess: latest.log

commented

O heck, it may actually be a Krypton conflict! Having disabled it, I was able to walk next to and use trains for 10 minutes hours now with no issues. But chunk synchronization at server distance of 32 is a terrible slog without it.

There is, however, 3 Received passengers for unknown entity lines appearing in the latest.log still. Are they even from this mod?

commented

Alright, got it! Krypton isn't actually involved, it might've just been amplifying the chance of this to occur. It turns out that it's actually Wilder Wild, or specifically its fireflies, whICH I HAD TO PUT INTO A TRAIN SEAT???

I've reproduced this with just these mods:

Content-CreateFabric-v0.5.1b.p2.jar
Content-CreateSteamAndRails-v1.4.3.jar
Library-QuiltedFabricAPI.jar
WorldGen-WilderWild-v2.0.6.jar

On that same quilt-loader-0.19.1-1.19.2.

image
image

And have uploaded a 167MB minimal reproduction MC installation + world here:
https://mega.nz/#!Nm5wyIBJ!_S-X4Mbhs5hs0svY6-5WCNY2J8gYPlkAxFDCOu_z1zQ

Reproduction instructions are:

  1. Download and unzip the above archive, hook it up to the vanilla MC launcher like this:
    image
    Then start the client with that profile.
  2. In the extracted folder, there's also a launch-server.bat placed conveniently to run a local server. Convert if on linux.
  3. Join the local server on the client. This is not possible to reproduce in singleplayer!
  4. If not using the provided world - I believe you need to create a train, place some seats on it, and /summon wilderwild:firefly near them. Maybe it's not the seats, but I've definitely seen fireflies sitting in them on my server!

WW's source repo can be found here:
https://github.com/FrozenBlock/WilderWild
If you want to check if its authors are to blame or ping them.

commented

This doesnt happen with just Steam 'n' Rails and Create Right? if so please report this to the wilderwild devs

commented

This doesnt happen with just Steam 'n' Rails and Create Right? if so please report this to the wilderwild devs

Yes, that's what I expected one of you would do via simple user mentions/pings, after peeking at their code. This is a conflict, so the issue is better off existing in the repository of the mod that's proven to be at fault of the conflict, or the repository of the mod that shows up in the stacktrace -- as the former hasn't been done - the latter would be this one.

Pinging 2 WilderWild devs - @Treetrain1, @AViewFromTheTop - WilderWild and its firefly mobs (their (de)serialization?) seem to be conflicting with some netcode in Create: Steam 'n' Rails. Please have a look at the opening message for a stacktrace, this message above for full reproduction files and steps, and then check what in your or their codebases could lead to it. A solution or insight would be well appreciated. I'm not seeing anything myself, but I'm not familiar with MC content development.

EDIT: Probably a pointless ping, sorry. Closing message here.

commented

Is that on a dedicated server? Singleplayer won't do.
Use the installdir and the server batch file I've sent if you can't seem to do it in your environment.

commented

I am still unable to reproduce this
image

commented

Is that on a dedicated server? Singleplayer won't do. Use the installdir and the server batch file I've sent if you can't seem to do it in your environment.

Yep its a fabric server + fabric client

commented

Even using a quilt server i still cannot reproduce

commented

Hmm, switching both the client and the server from Quilt & QSL to newest Fabric & FAPI got rid of the issue. Even weirder, but there's no way you can't reproduce it with the files I've sent. I'll attempt updating Quilt/QSL instead now & looking around their changelogs.

commented

Pinging 2 WilderWild devs - @Treetrain1, @AViewFromTheTop - WilderWild and its firefly mobs (their (de)serialization?) seem to be conflicting with some netcode in Create: Steam 'n' Rails. Please have a look at the opening message for a stacktrace, this message above for full reproduction files and steps, and then check what in your or their codebases could lead to it. A solution or insight would be well appreciated. I'm not seeing anything myself, but I'm not familiar with MC content development.

I'll take a look at this in a moment. Very strange issue

commented

Yea using all latest versions of Wilder Wilds, Steam 'n' Rails, Create and QSL/QFAPI i cannot in any way reproduce this on a Quilt or Fabric server

commented

While Fabric is working correctly with that mod & version set I posted, on Quilt I was back to 100% reproduction rate.

  • QSL was up to date: "version": "4.0.0-beta.30+0.76.0-1.19.2",
  • Updating Quilt Loader from 0.19.1 to 0.20.2 changed nothing.
  • WilderWild was up to date for 1.19.2: v2.0.6
  • Updating SteamAndRails from 1.4.3 to 1.5.0 got rid of this!

I guess we're good and it was really something in QSL to blame? I wonder what commit it'd be that fixed/worked around this then..
https://github.com/Layers-of-Railways/Railway/commit/dab2a4f0c1a96e641f9b6c258fb1ef937d9bb5de?
Hard to diff without per-version tags in the repo.

Thanks for your time everyone! I'll stay away from Quilt in the future just in case.