mojira.dev
MC-152333

Game render crashes when rendering with invalid name on player head

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)

Linked issues

Attachments

Comments 2

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.

Cannot reproduce either in 21w03a.

Please check if this is still an issue for you in 21w03a or later.

Henry Jiang

(Unassigned)

Confirmed

Crash

Minecraft 1.14.1, 1.14.4, 19w46b, 1.15 Pre-release 1, 1.15.1 Pre-release 1

Retrieved