mojira.dev
MC-40367

/tellraw @a throwing NPE when no players online

Command block on a timer runs "/tellraw @a <message>". When no players are online, here's what the console says:

[07:49:44] [Server thread/ERROR]: Couldn't process command
java.lang.NullPointerException
        at java.util.Collections.shuffle(Unknown Source) ~[?:1.7.0_45]
        at java.util.Collections.shuffle(Unknown Source) ~[?:1.7.0_45]
        at ad.c(SourceFile:127) ~[minecraft_server.1.7.2.jar:?]
        at ad.a(SourceFile:44) ~[minecraft_server.1.7.2.jar:?]
        at y.d(SourceFile:114) ~[minecraft_server.1.7.2.jar:?]
        at ba.b(SourceFile:35) ~[minecraft_server.1.7.2.jar:?]
        at z.a(SourceFile:58) [minecraft_server.1.7.2.jar:?]
        at afb.a(SourceFile:79) [minecraft_server.1.7.2.jar:?]
        at ain.a(SourceFile:49) [minecraft_server.1.7.2.jar:?]
        at mj.a(SourceFile:405) [minecraft_server.1.7.2.jar:?]
        at mj.b(SourceFile:134) [minecraft_server.1.7.2.jar:?]
        at net.minecraft.server.MinecraftServer.u(SourceFile:503) [minecraft_server.1.7.2.jar:?]
        at lj.u(SourceFile:265) [minecraft_server.1.7.2.jar:?]
        at net.minecraft.server.MinecraftServer.t(SourceFile:441) [minecraft_server.1.7.2.jar:?]
        at net.minecraft.server.MinecraftServer.run(SourceFile:358) [minecraft_server.1.7.2.jar:?]
        at ky.run(SourceFile:617) [minecraft_server.1.7.2.jar:?]
[07:49:44] [Server thread/ERROR]: Couldn't process command
java.lang.NullPointerException
        at java.util.Collections.shuffle(Unknown Source) ~[?:1.7.0_45]
        at java.util.Collections.shuffle(Unknown Source) ~[?:1.7.0_45]
        at ad.c(SourceFile:127) ~[minecraft_server.1.7.2.jar:?]
        at ad.a(SourceFile:44) ~[minecraft_server.1.7.2.jar:?]
        at y.d(SourceFile:114) ~[minecraft_server.1.7.2.jar:?]
        at ba.b(SourceFile:35) ~[minecraft_server.1.7.2.jar:?]
        at z.a(SourceFile:58) [minecraft_server.1.7.2.jar:?]
        at afb.a(SourceFile:79) [minecraft_server.1.7.2.jar:?]
        at ain.a(SourceFile:49) [minecraft_server.1.7.2.jar:?]
        at mj.a(SourceFile:405) [minecraft_server.1.7.2.jar:?]
        at mj.b(SourceFile:134) [minecraft_server.1.7.2.jar:?]
        at net.minecraft.server.MinecraftServer.u(SourceFile:503) [minecraft_server.1.7.2.jar:?]
        at lj.u(SourceFile:265) [minecraft_server.1.7.2.jar:?]
        at net.minecraft.server.MinecraftServer.t(SourceFile:441) [minecraft_server.1.7.2.jar:?]
        at net.minecraft.server.MinecraftServer.run(SourceFile:358) [minecraft_server.1.7.2.jar:?]
        at ky.run(SourceFile:617) [minecraft_server.1.7.2.jar:?]

Comments 5

Is this still a concern in the current Minecraft version 1.7.4 / Launcher version 1.3.8 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 using v1.7.4, and it still does it when using the @r parameter.

@a and @p are fixed though?

It didn't throw an exception when using @a or @p, so yes.

Fixed in 14w06b:

[19:02:58] [Server thread/INFO]: Starting minecraft server version 14w06b
...
tellraw @a bla
tellraw @p bla
[19:03:43] [Server thread/INFO]: That player cannot be found
tellraw @r bla
[19:04:02] [Server thread/INFO]: That player cannot be found
[19:02:58] [Server thread/INFO]: Starting minecraft server version 14w06b
...
tellraw @a bla
tellraw @p bla
[19:03:43] [Server thread/INFO]: That player cannot be found
tellraw @r bla
[19:04:02] [Server thread/INFO]: That player cannot be found

SullyTheUnusual

(Unassigned)

Unconfirmed

Minecraft 1.7.2, Minecraft 1.7.4

Minecraft 14w06b

Retrieved