mojira.dev
MC-72632

Client tries to get realms server list even if it couldn't authorize the player.

If you have an invalid session ID and open realms, the console shows how the client tried to get the server list, even though it knows the player have an invalid session ID:

Console Output

[08:19:35] [pool-7-thread-3/INFO]: Could not authorize you against Realms server: Invalid session id
[08:19:35] [pool-7-thread-3/ERROR]: Couldn't get pending invite count
com.mojang.realmsclient.exception.RealmsServiceException: Invalid session id
at com.mojang.realmsclient.client.RealmsClient.execute(RealmsClient.java:362) ~[realms-1.5.5.jar:1.5.5]
at com.mojang.realmsclient.client.RealmsClient.pendingInvitesCount(RealmsClient.java:271) ~[realms-1.5.5.jar:1.5.5]
at com.mojang.realmsclient.gui.RealmsDataFetcher$PendingInviteUpdateTask.updatePendingInvites(RealmsDataFetcher.java:174) [realms-1.5.5.jar:1.5.5]
at com.mojang.realmsclient.gui.RealmsDataFetcher$PendingInviteUpdateTask.run(RealmsDataFetcher.java:166) [realms-1.5.5.jar:1.5.5]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.7.0_67]
at java.util.concurrent.FutureTask.runAndReset(Unknown Source) [?:1.7.0_67]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source) [?:1.7.0_67]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [?:1.7.0_67]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.7.0_67]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.7.0_67]
at java.lang.Thread.run(Unknown Source) [?:1.7.0_67]

The interface doesn't display any error message which may be confusing to the user, because all their realms are gone...

I expected the interface to show the error message, and not try to get the player count.

What actually happened was that the client didn't show a error message, but instead an empty server list. The client also tried to get the player count, even thought it already checked that that wasn't possible because of the invalid session ID.

You can reproduce this by starting minecraft, opening a new launcher instance, logging in and out (entering username + password again) then opening minecraft with that launcher. Then clicking on the "Minecraft Realms" button on the first instance of minecraft. by setting your computer on sleep mode with a minecraft instance over the night.

Linked issues

Comments 2

This is not a duplicate of MC-64282! That one is about the error itself, this is about how the client tries to get the server list even if it already failed to authorize, and how it doesn't display the error in the interface, only in the console!

This is very inconsistent to reproduce. Sometimes when I have a bad session ID the error shows up, sometimes it doesn't.

metarmask

(Unassigned)

Unconfirmed

Minecraft 1.8

Retrieved