Note
This issue is about the game crash (back to the launcher) when opening the server list. For the similar-sounding, but completely different, disconnect with a NullPointerException
while in-game, see MC-115942.
What I expected to happen was...:
Minecraft to be staying idle on the background minimalized without any issuse
What actually happened was...:
It crashed with a Ticking screen error
Steps to Reproduce:
1. Open minecraft 1.10.2
2. Minimilize it
3. maybe open a second minecraft and see if thas the issuse
Description: Ticking screen
java.lang.NullPointerException: Ticking screen
at io.netty.bootstrap.Bootstrap.checkAddress(Bootstrap.java:273)
at io.netty.bootstrap.Bootstrap.doConnect(Bootstrap.java:150)
at io.netty.bootstrap.Bootstrap.connect(Bootstrap.java:132)
at io.netty.bootstrap.Bootstrap.connect(Bootstrap.java:113)
at bls.b(SourceFile:165)
at bls.a(SourceFile:45)
at bls$1.a(SourceFile:144)
at eo.l(SourceFile:382)
at bls.a(SourceFile:254)
at bhj.e(SourceFile:116)
at bcx.t(SourceFile:1601)
at bcx.av(SourceFile:968)
at bcx.a(SourceFile:396)
at net.minecraft.client.main.Main.main(SourceFile:124)
Hopper tickets
MCX-2842585 (1.10.2)
MCX-3487283 (17w14a)
Code analysis
Based on 1.11 decompiled using MCP 9.35 rc1
It looks like this crash can happen when the method net.minecraft.client.network.ServerPinger.ping(ServerData)
was called while the user had an internet connection, but before a packet was received the internet connection was lost. Additionally the server needs to have a hostname which is not a literal IP address. In that case at some point the method net.minecraft.client.network.ServerPinger.ping(...).new INetHandlerStatusClient() {...}.onDisconnect(ITextComponent)
is called. The problem lies in the method io.netty.bootstrap.Bootstrap.checkAddress(SocketAddress)
which does check if the provided SocketAddress
is an instance of InetSocketAddress
(which include a null
) check, but does not test if the method getAddress()
returns null
. This is the case if the host name cannot be resolved. As this netty version seems to be a custom build it should be fixable by Mojang.
Linked issues
is duplicated by 25
Attachments
Comments 18
Seems to be more common now in 17w15a and 17w14a, possibly breaks on more than just connection issues now?
I'm wondering what this has to do with a supposedly problematic internet connection. My connection cannot be at fault all day and every day when it works perfectly fine for everything else.
The crash occurs over 95% of the times when I minimize the game window. It also happens when I play single player, without ever going to the multiplayer list. There's no server pinging happening and it still crashes at ticking screen, over 90% of the times when the game window is minimized.
That never happened to me before 17w14a and it seems worse in 17w15a.
It might have had to deal with a problematic internet connection before, but recently something definitely changed. Most likely, that something is updating netty (which happened in that snapshot). (I'll add: minimized doesn't seem like a factor for the multiplayer UI in 17w14a).
I'm currently looking at what might have changed in netty between versions - might be a bug on their end.
It also happens when I play single player, without ever going to the multiplayer list. There's no server pinging happening and it still crashes at ticking screen, over 90% of the times when the game window is minimized.
That's weird. It might be that there's two different issues, one from netty and one from minimizing. Note that "ticking screen" is a very wide category of crashes (it means that something went wrong when it was handling a GUI). Just the top most line of the stacktrace from a single-player crash should be enough to see if somehow it's still from netty - if it isn't, then a new issue should be created.
OK, I was dead wrong about it occurring in single player without netty being involved. After spending over an hour in troubleshooting mode and being unsuccessful in reproducing the issue, I decided to go to the multiplayer server list.
It only took a few seconds from there. I minimized the window to go back to browsing and there goes the crash and netty is right there in the first lines:
at io.netty.bootstrap.Bootstrap.checkAddress(Bootstrap.java:358)
at io.netty.bootstrap.Bootstrap.doResolveAndConnect(Bootstrap.java:180)
at io.netty.bootstrap.Bootstrap.connect(Bootstrap.java:162)
at io.netty.bootstrap.Bootstrap.connect(Bootstrap.java:143)
I checked all previous crash reports since this issue started (april 5th), and these 4 lines of the stack trace are always identical.
I guess it did happen after closing my single player world because I probably went to the multiplayer server list screen some time before.
Are the "network issues" mentioned here refer to server-side or client-side network issues? Like, if some server is too slow or fails to return a ping?
Confirming again also.
Worth noting that Netty was updated, so I think the catalyst for this happening so much now in the snapshots.
Confirming 17w17b.
@Mitschi'
You can still play the snapshots. It doesn't crash right away and all the times, unless your client is having some other issues.
Mine is:
Reported exception thrown!
f: Ticking screen
at bhm.t(SourceFile:1606)
at bhm.ax(SourceFile:964)
at bhm.a(SourceFile:404)
at net.minecraft.client.main.Main.main(SourceFile:123)
Caused by: java.lang.NullPointerException
at io.netty.bootstrap.Bootstrap.checkAddress(Bootstrap.java:358)
at io.netty.bootstrap.Bootstrap.doResolveAndConnect(Bootstrap.java:180)
at io.netty.bootstrap.Bootstrap.connect(Bootstrap.java:162)
at io.netty.bootstrap.Bootstrap.connect(Bootstrap.java:143)
at brt.b(SourceFile:241)
at brt.a(SourceFile:45)
at brt$1.a(SourceFile:144)
at go.l(SourceFile:382)
at brt.a(SourceFile:254)
at bmq.e(SourceFile:115)
at bhm.t(SourceFile:1596)
... 3 more
Confirming on 1.12-pre1
Crashes every time I go to 'multiplayer'
You basically can't play multiplayer anymore on macOS Sierra
This is an inofficial Intel graphics driver. Latest version is 15.xx.xx.xx, not 20.xx.xx.xx
Please obtain the latest driver from http://downloadcenter.intel.com and report if the error is persisting.