Uploaded image for project: 'Spigot'
  1. Spigot
  2. SPIGOT-6575

Direct Modification of SkullMeta's profile causes a Server Crash/Error

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Invalid
    • Icon: Minor Minor
    • None
    • None
    • Microsoft Windows 10 Home, 10.0.19042

    • 3149-Spigot-101ebb6-9122f5a (MC: 1.17) (Implementing API version 1.17-R0.1-SNAPSHOT)
    • HeadsPlus/SkeletonHeadsPlus
    • Yes

      Yeah, sorry in advance for being a horrible developer and using some form of NMS (not sure if Mojang's Authlib counts), but this has worked fine in the past (tested in 1.16.5 Spigot as well, no problems) and even in earlier builds of Spigot 1.17 so I'm assuming something changed recently that caused this crash/error.

      As of currently, the main reproducer of the bug - HeadsPlus - uses a method to set textures immediately and uses the profile field in the SkullMeta implementation (CraftMetaSkull) to do this. However, in the latest version (outlined above), this either crashes the server or simply drops an error.

      The server only crashes if the username provided is invalid or the server is in cracked/offline mode. But an error is still thrown if the username is valid and the server is in online mode. I've compiled a minimal reproduction plugin for this with the main class below and jar file included:

      https://pastebin.com/CJWXTt33

      In order to reproduce the error:

      1. Run the newest Spigot version with the skeleton plugin included
      2. Run /head headsplus
      3. An error is thrown as provided.

      The stacktrace of the error and crash report is included in the files below.

      If there is a better workaround for this or something I need to change, please let me know rather than dropping me to die in a ditch.

            Unassigned Unassigned
            Thatsmusic99 Holly P.
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: