[MC-9211] Client crash when sending two objective-creation packets with the same name Created: 05/Feb/13  Updated: 09/Feb/14  Resolved: 28/Feb/13

Status: Resolved
Project: Minecraft: Java Edition
Component/s: None
Affects Version/s: Snapshot 13w05b, Snapshot 13w06a
Fix Version/s: None

Type: Bug
Reporter: Connor James Assignee: Unassigned
Resolution: Invalid Votes: 0
Labels: None
Environment:

OS X 10.8.2
Java 1.6.0_37


Attachments: Text File crash-2013-02-04_22.24.42-client.txt    
Issue Links:
Duplicate
is duplicated by MC-12930 Crash Report Resolved
is duplicated by MC-14900 Scoreboard causes client crash due to... Resolved
is duplicated by MC-22842 Crash because of 'exception of world ... Resolved
is duplicated by MC-27820 Ticking screen Resolved
is duplicated by MC-34049 minecraft server crash Resolved
is duplicated by MC-34405 I lag out constantly on a multiplayer... Resolved
Relates
relates to MC-18738 IllegalStateException: Player is eith... Resolved
Confirmation Status: Unconfirmed

 Description   

I fully realize this may be a silly bug report; a crash like this is likely fully normal for a development snapshot (and this one in particular even useful while debugging the scoreboard). Making sure it doesn't slip through to final release regardless.

If you send two scoreboard objective-creation packets to the client with the same objective names, the game will crash with an IllegalArgumentException referencing the duplicate objective

Quick edit here: The game also crashes if an objective-deletion packet with a name unknown to the client is received, however the game does not crash if you send a scoreboard display packet with a name unknown to the client.



 Comments   
Comment by James Waterhouse [ 29/Apr/13 ]

Ok, thanks you for the quick response time, much appreciated.

Comment by [Mojang] Nathan Adams [ 29/Apr/13 ]

If it's not Bukkit then it could very well be your proxy. At the end of the day, something is telling the client "I have a whole new thing called xxxx" and this is not allowed and would cause big bugs if we had not caught it first, so it's working as intended on our end.

Comment by James Waterhouse [ 29/Apr/13 ]

I will report this to bukkit, but to be clear I am using the supported Bukkit scoreboard API, and I still get this crash. This may be paritally due to the fact we are using a proxy as well, so I'm sure this may neither be a bukkit bug.

Comment by Connor James [ 29/Apr/13 ]

(to be clear, if you're using the supported Bukkit Scoreboard API you won't get this crash)

Comment by [Mojang] Nathan Adams [ 29/Apr/13 ]

This is 100% absolutely a bug with Bukkit. They should be tracking which players know about which objectives, and not send two different objectives with the same name - doing so can either cause huge screwups, or I can make it catch this early and tell you about it (this is what it does now). I think the catching it earlier is the best solution.

Comment by Alicja Preocanin [ 29/Apr/13 ]

This is definitely a valid bug, if only because it should absolutely not cause the client to crash.

Comment by James Waterhouse [ 29/Apr/13 ]

These are valid packets used by the Bukkit API, do you suggest this bug is taken to them instead?

Comment by [Mojang] Nathan Adams [ 28/Feb/13 ]

Unless you can replicate this in vanilla, there is no issue. It is your duty, if you're sending custom packets, to remember what the client knows about already.

Comment by Connor James [ 10/Feb/13 ]

Affects 13w06a as well.

Comment by Tails [ 05/Feb/13 ]

Please do not mark issues as private, unless your bug report is a security issue containing information that may compromise your server/client.

Comment by Kumasasa [ 05/Feb/13 ]

Note:

Description: Exception in world tick
java.lang.IllegalArgumentException: An objective with the name 'Test' already exists!
	at aqs.a(SourceFile:30)
	at bcj.a(SourceFile:1063)
	at fa.a(SourceFile:43)
Generated at Sun Jan 12 12:20:19 UTC 2025 using Jira 9.12.2#9120002-sha1:301bf498dd45d800842af0b84230f1bb58606c13.