The bug
After giving a player a player head with an invalid owner, the game renderer failed to parse the string, making the game crashes on subsequent attempt to rejoin the server.
How to reproduce
Run:
/give @p player_head{SkullOwner:"_",display:{Name:'{"text":"Steve"}'}}
→ ❌ The game crashes
Crash report
19w46b\: [^crash-2019-11-17_18.04.28-client.txt]
Description: Rendering entity in world
java.lang.NumberFormatException: For input string: "6uud"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Long.parseLong(Long.java:589)
at java.lang.Long.valueOf(Long.java:776)
at java.lang.Long.decode(Long.java:928)
at java.util.UUID.fromString(UUID.java:200)
at com.mojang.util.UUIDTypeAdapter.fromString(UUIDTypeAdapter.java:26)
at com.mojang.util.UUIDTypeAdapter.read(UUIDTypeAdapter.java:18)
at com.mojang.util.UUIDTypeAdapter.read(UUIDTypeAdapter.java:10)
at com.google.gson.Gson.fromJson(Gson.java:887)
at com.google.gson.Gson.fromJson(Gson.java:952)
at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:162)
at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService$GameProfileSerializer.deserialize(YggdrasilAuthenticationService.java:101)
at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService$GameProfileSerializer.deserialize(YggdrasilAuthenticationService.java:97)
at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41)
at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72)
at com.google.gson.Gson.fromJson(Gson.java:887)
at com.google.gson.Gson.fromJson(Gson.java:952)
at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:162)
at com.mojang.authlib.yggdrasil.response.ProfileSearchResultsResponse$Serializer.deserialize(ProfileSearchResultsResponse.java:36)
at com.mojang.authlib.yggdrasil.response.ProfileSearchResultsResponse$Serializer.deserialize(ProfileSearchResultsResponse.java:19)
at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69)
at com.google.gson.Gson.fromJson(Gson.java:887)
at com.google.gson.Gson.fromJson(Gson.java:852)
at com.google.gson.Gson.fromJson(Gson.java:801)
at com.google.gson.Gson.fromJson(Gson.java:773)
at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:67)
at com.mojang.authlib.yggdrasil.YggdrasilGameProfileRepository.findProfilesByNames(YggdrasilGameProfileRepository.java:54)
at zk.a(SourceFile:80)
at zk.a(SourceFile:140)
at bxd.b(SourceFile:124)
at dqe.a(SourceFile:80)
at dvp.a(SourceFile:112)
at dvn.a(SourceFile:102)
at dvn.a(SourceFile:18)
at duv.a(SourceFile:250)
at dql.a(SourceFile:1307)
at dql.a(SourceFile:1137)
at dqh.a(SourceFile:720)
at dqh.a(SourceFile:550)
at dbi.d(SourceFile:932)
at dbi.b(SourceFile:569)
at net.minecraft.client.main.Main.main(SourceFile:202)
I was unable to reproduce this issue in 20w51a. Upon running this command, the game did not crash, however, I did experience a large lag spike.