mojira.dev
MC-31382

/Summon command (with enchantment IDs higher than 255) crashed Minecraft

I was messing around with /summon command, spawned a mob using the following command:

/summon Zombie ~ ~ ~ { Equipment:[ {id:276,tag:{ench:[ {id:16,lvl:2} , {id:306} , {id:307} , {id:308} , {id:309} ]}}],CustomName:"Guard",CustomNameVisible:1,Attributes:[{Name:generic.followRange,base:1}]}

Then I saw that it went a bit wrong (I misplaced brackets) and shot this failed experiment with bow. Minecraft crashed. Crash log is below.
After that I couldn't load this world, it was crashing while loading with the same error. So I had to open MCEdit and remove those entities. One thing I noticed: arrow entity was just about to hit zombie.
No mods, no external programs use (before this error appearing).

Crash log:

Time: 16.09.13 21:15
Description: Ticking entity

java.lang.ArrayIndexOutOfBoundsException: 306
	at aca.a(SourceFile:104)
	at aca.a(SourceFile:112)
	at aca.a(SourceFile:139)
	at pd.c(SourceFile:820)
	at pd.d(SourceFile:836)
	at pd.a(SourceFile:584)
	at um.a(SourceFile:43)
	at uw.a(SourceFile:160)
	at vh.h(SourceFile:264)
	at add.a(SourceFile:1372)
	at km.a(SourceFile:479)
	at add.g(SourceFile:1350)
	at add.h(SourceFile:1257)
	at km.h(SourceFile:364)
	at net.minecraft.server.MinecraftServer.u(SourceFile:465)
	at net.minecraft.server.MinecraftServer.t(SourceFile:400)
	at bnz.t(SourceFile:124)
	at net.minecraft.server.MinecraftServer.run(SourceFile:334)
	at jb.run(SourceFile:577)


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

-- Head --
Stacktrace:
	at aca.a(SourceFile:104)
	at aca.a(SourceFile:112)
	at aca.a(SourceFile:139)
	at pd.c(SourceFile:820)
	at pd.d(SourceFile:836)
	at pd.a(SourceFile:584)
	at um.a(SourceFile:43)
	at uw.a(SourceFile:160)
	at vh.h(SourceFile:264)
	at add.a(SourceFile:1372)
	at km.a(SourceFile:479)
	at add.g(SourceFile:1350)

-- Entity being ticked --
Details:
	Entity Type: Arrow (vh)
	Entity ID: 380919
	Entity Name: arrow
	Entity's Exact location: -101,19, 8,45, 309,15
	Entity's Block location: World: (-102,8,309), Chunk: (at 10,0,5 in -7,19; contains blocks -112,0,304 to -97,255,319), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)
	Entity's Momentum: 2,51, -0,12, 1,56
Stacktrace:
	at add.h(SourceFile:1257)
	at km.h(SourceFile:364)

-- Affected level --
Details:
	Level name: SnapshotTesting
	All players: 1 total; [kp['_lion123'/48, l='SnapshotTesting', x=-99,94, y=8,00, z=309,63]]
	Chunk stats: ServerChunkCache: 646 Drop: 0
	Level seed: 6884047296566967344
	Level generator: ID 01 - flat, ver 0. Features enabled: false
	Level generator options: 2;7,2x3,2;1;village
	Level spawn location: World: (-87,4,265), Chunk: (at 9,0,9 in -6,16; contains blocks -96,0,256 to -81,255,271), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)
	Level time: 36339 game time, 20523 day time
	Level dimension: 0
	Level storage version: 0x04ABD - Anvil
	Level weather: Rain time: 8843 (now: false), thunder time: 8843 (now: false)
	Level game mode: Game mode: survival (ID 0). Hardcore: false. Cheats: true
Stacktrace:
	at net.minecraft.server.MinecraftServer.u(SourceFile:465)
	at net.minecraft.server.MinecraftServer.t(SourceFile:400)
	at bnz.t(SourceFile:124)
	at net.minecraft.server.MinecraftServer.run(SourceFile:334)
	at jb.run(SourceFile:577)

-- System Details --
Details:
	Minecraft Version: 13w37b
	Operating System: Windows 7 (amd64) version 6.1
	Java Version: 1.7.0_40-ea, Oracle Corporation
	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
	Memory: 114651408 bytes (109 MB) / 311164928 bytes (296 MB) up to 954466304 bytes (910 MB)
	JVM Flags: 2 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx1G
	AABB Pool Size: 755 (42280 bytes; 0 MB) allocated, 596 (33376 bytes; 0 MB) used
	IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
	Profiler Position: N/A (disabled)
	Vec3 Pool Size: 110 (6160 bytes; 0 MB) allocated, 84 (4704 bytes; 0 MB) used
	Player Count: 1 / 8; [kp['_lion123'/48, l='Stealth Missions', x=-99,94, y=8,00, z=309,63]]
	Type: Integrated Server (map_client.txt)
	Is Modded: Probably not. Jar signature remains and both client + server brands are untouched.

Comments 11

It happens with /give as well, my whole map has seemed to crash every time I get on it. 😞

I'm not sure if this is related, but the following command completely crashed the local server and locked up the launcher. The client seemed unaffected, but the launcher began to consume 90% of CPU and spammed a single message.

The command was:

/summon Zombie ~ ~ ~ {Equipment:[,,,{id:310,Damage:0,Count:1,tag:{ench:[{id:5,lvl:10}]}}],DropChances:[0,0,0,0,1]}

The message it constantly spammed was:

,,,{id:310,Damage:0,Count:1,tag:{ench:[{id:5,lvl:10}]}}

I realize the syntax there isn't right, but it shouldn't be that easy to completely lock up a server and break the launcher. It can't generate a crash report, because it just gets stuck in an infinite loop.

Is this still a concern in the current Minecraft version 1.7.2 / Launcher version 1.3.4 or later? If so, please update the affected versions in order to best aid Mojang ensuring bugs are still valid in the latest releases/pre-releases.

Tested in 1.7.2. This command still crashes Minecraft.

1 more comments

In the description of this topic I posted "Then I saw that it went a bit wrong (I misplaced brackets)". I know that this command is incorrect. The problem is that a single command block can crash the whole server.

It's not the fact that the brackets were misplaced (even though they were), it's because the command is then trying to assign an enchantment with a ID higher than 255. Any enchantment IDs higher than 255 will initiate the crash.

The command still crashes minecraft in 14w02c. WolfieMario's code also still freezes the server, but it doesn't lock up the launcher anymore.

Andrew

(Unassigned)

Confirmed

/summon, arrow, crash

Minecraft 13w37b, Minecraft 1.7.2, Minecraft 1.7.4, Minecraft 14w02c

Minecraft 14w05b

Retrieved