mojira.dev
MC-195544

Game crashes after killing a mob that is being ridden by a guardian which is being ridden by a wither skeleton

The bug

After killing a mob that is ridden by a guardian while the guardian's being ridden by a wither skeleton, the game crashes as the guardian starts to dismount the entity during its dying animation while it has a wither skeleton above it.

To reproduce

  1. Run this command

    /summon minecraft:husk ~ ~ ~ {Passengers:[{id:guardian,Passengers:[{id:wither_skeleton}]}]}
  1. Kill the husk
    β†’ ❌ it crashes

Crash report

1.16.1: crash-2020-07-20_18.15.42-server.txt

Description: Ticking entity

java.lang.ClassCastException: awx cannot be cast to awu
	at avl.d(SourceFile:26)
	at avx.d(SourceFile:50)
	at auh$$Lambda$4487/946183892.accept(Unknown Source)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.Iterator.forEachRemaining(Iterator.java:116)
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
	at auh.b(SourceFile:63)
	at aoz.dO(SourceFile:732)
	at aoy.k(SourceFile:2505)
	at aoz.k(SourceFile:538)
	at bcb.k(SourceFile:42)
	at bbk.k(SourceFile:127)
	at aoy.j(SourceFile:2251)
	at aoz.j(SourceFile:338)
	at aom.aW(SourceFile:1737)
	at aoy.aW(SourceFile:2665)
	at bbk.aW(SourceFile:132)
	at zd.a(SourceFile:646)
	at zd.a(SourceFile:654)
	at zd.a(SourceFile:623)
	at zd$$Lambda$4254/1032114365.accept(Unknown Source)
	at bqb.a(SourceFile:603)
	at zd.a(SourceFile:405)
	at net.minecraft.server.MinecraftServer.b(SourceFile:873)
	at net.minecraft.server.MinecraftServer.a(SourceFile:813)
	at eoz.a(SourceFile:93)
	at net.minecraft.server.MinecraftServer.v(SourceFile:672)
	at net.minecraft.server.MinecraftServer.a(SourceFile:256)
	at net.minecraft.server.MinecraftServer$$Lambda$3784/128204151.run(Unknown Source)
	at java.lang.Thread.run(Thread.java:745)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Server thread
Stacktrace:
	at avl.d(SourceFile:26)
	at avx.d(SourceFile:50)
	at auh$$Lambda$4487/946183892.accept(Unknown Source)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.Iterator.forEachRemaining(Iterator.java:116)
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
	at auh.b(SourceFile:63)
	at aoz.dO(SourceFile:732)
	at aoy.k(SourceFile:2505)
	at aoz.k(SourceFile:538)
	at bcb.k(SourceFile:42)
	at bbk.k(SourceFile:127)
	at aoy.j(SourceFile:2251)
	at aoz.j(SourceFile:338)
	at aom.aW(SourceFile:1737)
	at aoy.aW(SourceFile:2665)
	at bbk.aW(SourceFile:132)
	at zd.a(SourceFile:646)
	at zd.a(SourceFile:654)
	at zd.a(SourceFile:623)
	at zd$$Lambda$4254/1032114365.accept(Unknown Source)

-- Entity being ticked --
Details:
	Entity Type: minecraft:husk (bby)
	Entity ID: 226
	Entity Name: Husk
	Entity's Exact location: 18.74, 4.00, 17.06
	Entity's Block location: World: (18,4,17), Chunk: (at 2,0,1 in 1,1; contains blocks 16,0,16 to 31,255,31), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
	Entity's Momentum: 0.00, -0.08, 0.00
	Entity's Passengers: []
	Entity's Vehicle: ~~ERROR~~ NullPointerException: null
Stacktrace:
	at bqb.a(SourceFile:603)
	at zd.a(SourceFile:405)

-- Affected level --
Details:
	All players: 1 total; [ze['drownedzombie00'/1, l='ServerLevel[New World]', x=17.29, y=4.00, z=10.99]]
	Chunk stats: ServerChunkCache: 2209
	Level dimension: minecraft:overworld
	Level spawn location: World: (0,4,0), Chunk: (at 0,0,0 in 0,0; contains blocks 0,0,0 to 15,255,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
	Level time: 107906 game time, 6000 day time
	Level name: New World
	Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: true
	Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
	Known server brands: vanilla
	Level was modded: false
	Level storage version: 0x04ABD - Anvil
Stacktrace:
	at net.minecraft.server.MinecraftServer.b(SourceFile:873)
	at net.minecraft.server.MinecraftServer.a(SourceFile:813)
	at eoz.a(SourceFile:93)
	at net.minecraft.server.MinecraftServer.v(SourceFile:672)
	at net.minecraft.server.MinecraftServer.a(SourceFile:256)
	at net.minecraft.server.MinecraftServer$$Lambda$3784/128204151.run(Unknown Source)
	at java.lang.Thread.run(Thread.java:745)

-- System Details --
Details:
	Minecraft Version: 1.16.1
	Minecraft Version ID: 1.16.1
	Operating System: Windows 10 (amd64) version 10.0
	Java Version: 1.8.0_51, Oracle Corporation
	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
	Memory: 2799584808 bytes (2669 MB) / 3590324224 bytes (3424 MB) up to 7516192768 bytes (7168 MB)
	CPUs: 4
	JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx7G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
	Player Count: 1 / 8; [ze['drownedzombie00'/1, l='ServerLevel[New World]', x=17.29, y=4.00, z=10.99]]
	Data Packs: vanilla
	Type: Integrated Server (map_client.txt)
	Is Modded: Probably not. Jar signature remains and both client + server brands are untouched.

Attachments

Comments 8

May I ask how anyone managed to find this bug?

@unknown By stacking random mobs. πŸ˜ƒ
What I also find interesting is: Why do you get a "ClassCastException" in this specific case?

Wow, I think the game will crash if a spider rides an endermite riding a skeleton horse riding a giant riding an enderman in a minecart and you throw a splash potion of luck at the enderman.

How could this bug be very important????

Minecraft has been saved one more time πŸ™‚

@Seaworths all crashes are marked as very important. Even if most people won't encounter it, the game randomly shutting down under any circumstances is very bad

@Seaworths Important in servers so no moderator can crash the server, players’ clients, or both simply by executing some top-secret command.

DrownedZombie

coschevi

Confirmed

Very Important

Crash

1.16.1, 20w29a, 20w30a

1.16.2 Pre-release 1

Retrieved