Closed dzrw closed 9 years ago
Hmm. I have the feeling this bug may be caused by something else going wrong and because of that RFTools crashing because some parts haven't been initialized correctly (like that instance). Do you happen to have a full log?
I had the same problem. The modpack was built with forge 1448, but when I update to forge 1492, the problem disappears.
I haven't had a chance to get back to this and generate a full log, but I did want to jump on and mention that I'm running Forge 1448. Thanks for the tip @MrBenji285, I'll try to update to 1492 - that might be a "quick fix" that fixes the immediate problem.
It would be interesting to me to figure out what fixed the issue between 1492 and 1448. The idea that @McJty's mods are not being initialized correctly due to a bug in the middleware has got to be frustrating.
I encountered a similar Issue with Forge 1492 too on my server. The server runs but none of us can connect to it and get a time out. This is the part of the client log http://pastebin.com/bryhAMgJ
Why exactly do you suspect RFTools is at fault here (to Soro300)? I see nothing in that log indicating that.
at mcjty.rftools.dimension.RfToolsDimensionManager.unregisterDimensions(RfToolsDimensionManager.java:96) ~[RfToolsDimensionManager.class:?] at mcjty.rftools.ClientDisconnectEvent.onDisconnectedFromServerEvent(ClientDisconnectEvent.java:14) ~[ClientDisconnectEvent.class:?]
Hmm yes I missed that. But even so that code is called when a client disconnects. So that means this crash is actually a symptom of the problem and not the cause. i.e. because of something causing a timeout this causes the client to disconnect and this causes RFTools to try to unregister that client. Apparently something got corrupted so it fails to do so. Seems a number of things are going wrong here. Can you describe what has happened before this event? Anything special? Are you in rftools dimensions?
no the problem is I just set the server up I already fixed a few things and got the server running but now everyone gets a time out.
I am also experiencing this on our server. It is a very large modpack, so we were trying to think what else could be causing a conflict based on what mods we have different compared to some of the other popular modpacks out there. One that we have that is different that uses additional dimensions is compact machines which I also notice listed in the modpack above. When I get some more time I will try troubleshooting more to see if it is related to the combination of those two mods, but just figured I would add this note here in case anyone else gets chance to test that on their server before me. On our server we are currently using forge 1481.
Ok, so I did finally get to try removing compact machines and re-enabling rftools. Still getting the timed-out issue, so it looks like it is not related to a conflict between these two after all.
I solved this problem by copying Mobius Core and opis from server to client.
What's strange is that I believe I have opis on server but not client at first and the server worked fine. After I modified some cfg files with worldgen the problem happened. I guess it's related with the mapwriter implemented by opis.
Edit: Opis is not necessary, only Mobius Core.
The immediate issue is in RFTools and it's caused me quite some annoyance trying to debug disconnect issues.
The initialization is obviously not finished as per https://github.com/McJty/RFTools/issues/285#issuecomment-130154363 since the disconnect event may fire very early for any auxiliary issue while connecting. The event is being fired from the network pipeline's exception handler, so it has to be expected before any other.
@McJty this bug is appeared to me too, and even if not RFTools causes the crash, this crash hides the real connection problem and prevents MineCraft to throw the real exception. Please reopen this issue and give us an advice what could go wrong here, since this excepton gives absolute no point for users what's wrong. More descriptive exception or throwing the original exception would be better than this NPE.
No Opis/MobiusCore affected on my Side, RFTools 4.13, slightly modded Project Ozone pack.
Well I have no advice to give on this issue as I have absolutely no clue what is going on here and I cannot reproduce this in any way.
However, I suppose I could add a null check though
@McJty I'd really appreciate if you can.
I'm running into a timeout problem when connecting to a server which I believe this is related to #136 -- an issue that was closed without resolution. I've spent days trying to figure out what's going on -- attempting to search for
Unexpected packet during modded negotiation
leads to a dead-end of people claiming that the Forge versions are mismatched: I assure you that that is not the problem here (my server and client are built from the same custom mod library).However, #136 mentions that a mismatch between the server and client config might be responsible for generating the NPE in
mcjty.rftools.dimension.RfToolsDimensionManager.unregisterDimensions
which in turn might cause the connection issues.If that's the case, would you perform a null check and print out a more helpful message to the logs?
The vulnerability is the unchecked usage of
instance
here. The proximate cause is most likely thatRfToolsDimensionManager.getDimensionManager
has not been invoked in this pathway (due to a configuration conflict somewhere else?). The reliance on astatic
instance variable that defaults tonull
is a code smell -- is there a standard dependency injection framework / IoC container for Minecraft/Java? That's the standard way of solving the singleton initialization problem. I'll dig around and try to figure out whether/if there is a configuration check that prevents a read ongetDimensionManager
. I'm happy to help you track down this bug to a particular line of code, but I've noticed that maintainers tend to find dubious reasons to not accept PRs to their mods in a timely fashion, so I'll let you actually fix it. No offense.My server logs contain the following lines:
On the client, I see the following logs: