BetterPortals

BetterPortals

1M Downloads

Game Lock Related to JourneyMap

border999 opened this issue ยท 20 comments

commented

The log doesn't actually show any crash, only a warning. Is that what you're reporting or did the game actually crash?

commented

It actually just locks up and doesn't ever unlock after that point. I've waited at least an hour on it one time.

commented

I don't actually know what circumstances caused this issue to emerge. It could be my recent update to RandomPatches. But I'm fairly confident that generating a new world probably won't result in this same soft lock. Also there appears to be something causing a memory leak in my pack now so I will get back to you when I figure out what that is.

commented

In that case, please attach the full game log and remove all unrelated third-party mods so we can be sure it's actually Random Things which triggers the issue.

Under which circumstances does it happen? I.e. what do I need to do to reproduce it?

If you're feeling adventurous, getting a (or multiple) thread dump(s) using e.g. VisualVM while it's frozen will probably also help.

commented

check this one out

commented

Looks like an issue with JourneyMap (might be related to changes in a new version of JourneyMap as it used to work fine for the most part and there was a second report with the same error just today:
#456). Anyhow, they don't provide any source code for their mod, so I can't look further into this, you'll have to report it to them and hope for the best.

commented

Journeymap dev here

@Johni0702
This looks like it has to do with your ViewEntity.kt being a Fake Player but not being an actual FakePlayer object.

#ref 1.12.2
net.minecraftforge.common.util.FakePlayerFactory
net.minecraftforge.common.util.FakePlayer

commented

@Johni0702 Looking through your code a bit more, I see

val camera = ViewEntity(world, gameProfile, connection, channel)

You're creating a ViewEntity (EntityPlayerSP) on the server. Just have your ViewEntity extend FakePlayer and I think that will resolve this issue and maybe many more of your other issues.

commented

@mysticdrew BP's fake player must not be an ordinary fake player as it's supposed to receive packets as any normal player does (that's how BP works, it tunnels the packets the fake player receives to the client where they're handled while normal world, player, etc. is temporarily swapped with the ones for the respective world).
Beware there are two ViewEntity classes, one for the server one for the client. Them having the same name is an historical accident, should probably change that at some point as to be less confusing.

commented

Ahh, ok that makes sense.

It is blowing up when I check if the player has the forge marker.
(player.connection.getNetworkManager().channel().attr(NetworkRegistry.FML_MARKER).get())
I do this so I do not send packets to Vanilla players. Your fake player seems to be missing something. I haven't had time to dig in fully yet.

commented

Ah, makes sense, I'm skipping forge's login handshake for the fake players (cause there's no point in having it and it'd probably even break stuff) and I probably missed the marker while trying to replicate the resulting netty pipeline.

commented

I will apply a fix on my end too, just to be safe.
Though we are in maintenance mode for 1.12.2 so it won't be a release with this fix for some time.

commented

well then, I guess this worked out.

commented

I will say, I was unaware of this mod until this bug was brought to my attention.
This mod is pretty dang cool! Good work!

commented

is there a way to fix this? The incompatibility I mean.

commented

is there a way to fix this? The incompatibility I mean.

Yes, I'll be releasing a version of journeymap with the a fix this weekend, it's more of a patch, until @Johni0702 updates his code.

commented

thank you for the information and getting to this issue so quickly

commented

and I might suggest looking around on curseforge seeing all the newer mods and checking to make sure the ones that look like they do something similar can have such issues fixed before they are ever reported.

commented

Should be fixed as of BP 0.3.7.5.