Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-17222

ALL Spawners with ActiveEffects crash the game, breaking hundreds of custom maps and servers.

XMLWordPrintable

    • Confirmed

      Before you close this as the 20th duplicate of MC-16191, please read below.

      Almost two dozen people have reported this problem, and JIRA moderators have closed every report as a "Duplicate" of a certain non-descriptive report, MC-16191, which is itself closed as "Invalid". This is essentially the same as closing all of these reports as Invalid - when they describe a very real bug.

      Prior to 13w21a, if you had this crash report, the only possible cause was Invalid: it could only be caused by attempting to spawn an entity with a potion effect that has an invalid ID. This is why Dinnerbone closed MC-16191.

      However, since 13w21a, this crash has occurred on all spawners with potion effects, including those with valid IDs. This is due to a bug in deserializing potion effects: the game makes the assumption that an entity's Attribute Map has been fully initialized when it tries loading its potion effects. This is because certain Potion Effects now interact with the Attributes system. Because the game makes no attempt to actually initialize the entity's Attributes before loading its potion effects, it gets a NullPointerException due to the missing Attributes. There is no workaround for this issue.

      You can observe the bug yourself, with the following steps:

      1. Load the attached test world in 13w19a or earlier.
      2. Observe that there is no crash. It works perfectly fine!
      3. Load the attached world in 13w21a or later - this is the version the bug was introduced.
      4. Observe that the game crashes, despite it working fine in previous versions.

      I have been speaking to several mapmakers who have been complaining about this bug. This is not an isolated incident, and it is not invalid. It is a map-making feature which worked correctly prior to 13w21a, and was used extensively by countless mapmakers, including high-profile ones such as Hypixel and Vechs. It was broken three snapshots ago, and Dinnerbone has not indicated being aware of its existence. This is why we have a bug tracker: so bugs can be reported to Mojang and fixed. By closing every instance of a bug like this, there is no reason to expect that Mojang will ever come to fix it.

      In case I have not made it clear: When Dinnerbone closed MC-16191, he closed it as "Invalid" because, according to him, the poster had created a spawner with a non-vanilla potion ID. Now, I don't know whether that was actually the case, but I can tell you for a fact that it is not the case with the attached test world. The attached test world should not crash on any version of Minecraft ever since this feature was added. The fact that it crashes in the three latest snapshots is a bug. Dinnerbone and Mojang have never acknowledged this crash as intentional.

      Please, all I ask of you, is that if/when you come to close this report as a "duplicate" of MC-16191, please, re-open MC-16191. If you're going to close almost two dozen valid reports as duplicates of MC-16191, then MC-16191 should no longer be considered "invalid". Regardless of the status of the original poster's world, the other reporters here are experiencing a valid, world-corrupting bug, and there is no reason to go to such lengths to ensure Mojang never even sees our reports.

            dinnerbone [Mojang] Nathan Adams
            wolfiemario WolfieMario
            Votes:
            5 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:
              CHK: