Mojira Archive
MC-117584

Converting zombie villager without ConversionPlayer set crashes server

The bug

Setting a ConversionTime for a zombie villager without setting ConversionPlayerLeast and ConversionPlayerMost crashes the server.

Description: Ticking entity

java.lang.NullPointerException: Ticking entity
	at amr.b(SourceFile:2627)
	at ads.dr(SourceFile:186)
	at ads.B_(SourceFile:113)
	at amr.a(SourceFile:1514)
	at om.a(SourceFile:714)
	at amr.h(SourceFile:1499)
	at amr.k(SourceFile:1382)
	at om.k(SourceFile:547)
	at net.minecraft.server.MinecraftServer.D(SourceFile:634)
	at net.minecraft.server.MinecraftServer.C(SourceFile:562)
	at cgx.C(SourceFile:154)
	at net.minecraft.server.MinecraftServer.run(SourceFile:466)
	at java.lang.Thread.run(Thread.java:745)

How to reproduce

/summon zombie_villager ~ ~ ~ {ConversionTime:0}

Code analysis

Based on 1.12-pre3 decompiled using CFR

It looks like the UUID of the player who started the conversion is compared with the UUIDs of online players to then trigger the advancement trigger cured_zombie_villager. The problem is that it is not tested if the passed UUID is null which causes a NullPointerException when the method equals is called for it.

Fixed

lars pedersen

[Mojang] Jeb (Jens Bergensten)

2017-05-17, 10:20 PM

2017-05-22, 12:28 PM

2017-05-22, 11:56 AM

3

2

Confirmed

conversion, crash, zombie_villager

Minecraft 1.12 Pre-Release 2, Minecraft 1.12 Pre-Release 3, Minecraft 1.12 Pre-Release 5

Minecraft 1.12 Pre-Release 6