Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-240702

Attempting to load custom player head when off-line spams errors to log and always fails when back online

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • None
    • 1.17.1, 21w44a, 1.18 Pre-release 1, 1.18 Pre-release 2, 1.18 Pre-release 4, 1.18 Pre-release 5, 1.18 Pre-release 6, 1.18 Release Candidate 1, 1.18 Release Candidate 4, 1.18, 1.18.1 Release Candidate 2, 1.18.1, 22w03a, 22w07a, 22w11a, 22w19a, 1.19.2, 1.19.3, 23w33a, 1.20.4
    • None
    • Confirmed
    • Commands, Textures and models

      The bug

      When attempting to load a custom player head when off-line, it fails, which is expected. However, re-opening the world or the game after internet connection is reinstated fails to load the player head skin again. Once this occurs, the skin does not show up anymore.

      Multiple errors are spammed to the log.

      Log (abridged, 21w44a)
      Couldn't look up profile properties for com.mojang.authlib.GameProfile@14c816a[id=02a2b6ef-1d92-373a-92fd-153f3b082aa4,name=deadmau5,properties={},legacy=false]
      com.mojang.authlib.exceptions.AuthenticationUnavailableException: Cannot contact authentication server
      	at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:126) ~[authlib-3.1.36.jar:?]
      	at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:100) ~[authlib-3.1.36.jar:?]
      	at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillGameProfile(YggdrasilMinecraftSessionService.java:194) ~[authlib-3.1.36.jar:?]
      	at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillProfileProperties(YggdrasilMinecraftSessionService.java:187) ~[authlib-3.1.36.jar:?]
      	at clx.c(SourceFile:141) ~[21w44a.jar:?]
      	at ad.a(SourceFile:496) ~[21w44a.jar:?]
      	at clx.a(SourceFile:136) ~[21w44a.jar:?]
      	at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1434) [?:?]
      	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:295) [?:?]
      	at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1016) [?:?]
      	at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1665) [?:?]
      	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1598) [?:?]
      	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183) [?:?]
      Caused by: java.net.UnknownHostException: sessionserver.mojang.com
      	at sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:567) ~[?:?]
      	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:333) ~[?:?]
      	at java.net.Socket.connect(Socket.java:645) ~[?:?]
      	at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:300) ~[?:?]
      	at sun.net.NetworkClient.doConnect(NetworkClient.java:177) ~[?:?]
      	at sun.net.www.http.HttpClient.openServer(HttpClient.java:497) ~[?:?]
      	at sun.net.www.http.HttpClient.openServer(HttpClient.java:600) ~[?:?]
      	at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:265) ~[?:?]
      	at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:379) ~[?:?]
      	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:189) ~[?:?]
      	at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1277) ~[?:?]
      	at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1120) ~[?:?]
      	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:175) ~[?:?]
      	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1653) ~[?:?]
      	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1577) ~[?:?]
      	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:224) ~[?:?]
      	at com.mojang.authlib.HttpAuthenticationService.performGetRequest(HttpAuthenticationService.java:140) ~[authlib-3.1.36.jar:?]
      	at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:105) ~[authlib-3.1.36.jar:?]
      	... 12 more
      

      To reproduce

      1. Turn on internet connection and create a new world.
      2. Turn off internet connection.
      3. Give yourself a player head:
        /give @p minecraft:player_head{SkullOwner:"(NAME)"}

        It might be necessary to load a player head that you have not loaded recently before, to assure that the skin is not cached.

      4. The head does not show its skin, which is expected.
      5. Close the world and reinstate internet connection.
      6. Reopen the world.
      7. Attempt to load the player skin by executing the command again.
      8. The player skin fails to load.

      Expected result

      Custom player head would show its skin after internet connection is restored.

        1. 2021-11-05_10.59.00.png
          2021-11-05_10.59.00.png
          428 kB
        2. 2021-11-05_19.54.12.png
          2021-11-05_19.54.12.png
          627 kB
        3. 2021-11-05_20.03.52.png
          2021-11-05_20.03.52.png
          569 kB
        4. 2021-11-05-1.log.gz
          5 kB
        5. 2021-11-11_15.14.09.png
          2021-11-11_15.14.09.png
          790 kB
        6. 2021-11-11_19.52.54.png
          2021-11-11_19.52.54.png
          710 kB
        7. 2021-11-11_19.55.18.png
          2021-11-11_19.55.18.png
          658 kB
        8. screenshot-1.png
          screenshot-1.png
          17 kB

            Unassigned Unassigned
            ampolive [Mod] ampolive
            Votes:
            3 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              CHK: