mojira.dev
MC-310315

Slot sources that reference themselves crash the game when invoked

The bug

Slot sources can reference each other, and when this forms a cycle, the game stack-overflows and crashes.

How to reproduce

  1. Download and apply the attached data pack: [mediaInline]
    It defines a slot source, test:test3, with the following definition:

    {
      "type": "group",
      "terms": [
        {
          "type": "minecraft:empty"
        },
        "test:test3"
      ]
    }
  2. Run /execute if slots entity @s test:test3

Expected result

Either the definition should fail to load, the command should fail at runtime, or the command should succeed.

Observed result

The game freezes and crashes

[media]

Notes

At load time, the game does detect this:

[10:13:01] [Worker-Main-1/WARN]: Found loot table element validation problem in {test:test3@minecraft:slot_source}.terms[1]: test:test3 of type minecraft:slot_source is recursively called

However, only recursive loot tables are prevented from crashing:

[10:00:06] [Server thread/WARN]: Detected infinite loop in loot tables

Linked issues

Attachments

Comments 0

No comments.

tryashtar

(Unassigned)

Confirmed

Platform HC

Important

Data Packs

26.3 Snapshot 5

26.3 Snapshot 6

Retrieved