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

Keeping Entity with UUID - New Information and Solution

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • None
    • Minecraft 19w09a
    • None
    • Windows 10, 64 bit, Minecraft Java Edition. Server hosted on local network.
    • Unconfirmed

      At this point, my long running world is almost unplayable.

      I'm listing this as a new bug because I believe this is new information which I haven't seen this discussed in depth anywhere, and it seemed too complex for a comment on the original post.

       

      SYMPTOMS AND TESTING
      I am currently experiencing this issue in all recent 1.14 snapshots, up to and including 19w09a. I have collected as much information as I can and I believe I have managed to undo this bug, but it is quite complex.

      **Item Frames and Paintings are the source
      First, I noticed that several paintings and item frames had gone missing in my world. They become invisible, and blocks can be placed in the space, but no new paintings or item frames can occupy that space. Unloading and reloading the chunk (either by teleporting or logging out and back in) will cause each individual painting or item frame to have a chance of re-appearing.

      Entities are being duplicated
      At the same time, every time the chunk is loaded, the affected paintings and item frames have a chance of duplicating other entities. These duplications appear to cascade, and need to be deleted in reverse order to the one in which they were created. I also discovered that deleting an entity once would stop it from being reported in the console, but it would continue to exist in the world and have a chance of duplicating when reloading the chunk.

      Multiple players increase the complexity of the bug
      I also believe that each player is triggering the bug in different ways, perhaps based on which player placed the paintings and item frames, or perhaps based on how each player's game is tracking the entities. I re-loaded a specific world backup and had 2 different players log into it, and found that each player caused a unique varation of this bug, turining specific paintings invisible or duplicating specific entities. The bug is made significantly worse by having multiple players log in and out, but the bug does not occur if one player stays active the entire time, as this stops the chunk from unloading.

      This bug also affects lighting
      While attempting to follow the solution outlined below, I would frequently find specific areas of my world where the lighting (torches, lamps, and lava etc) was not working at all, leaving areas in complete darkness. This was easily resolved by triggering a block update in an adjacent block, or by breaking and replacing the torches and lamps.

       

      SOLUTION
      With all of this in mind, I re-loaded the world backup and used only 1 player account to solve the problem. There are two separate steps which need to be taken. Firstly, all paintings and item frames need to be completely removed. They are the source of the issue. Secondly, all duplicate entities need to be tracked down and deleted, as they caused the issue to persist, and will continue to duplicate each time the chunk is reloaded. The solution involves one player going in and out of the world, multiple times, until all issues have been resolved.

      Both steps below need to be checked off every time you reconnect to the world or reload the chunk.

      Step 1: Remove all paintings and item frames
      Every time I connected to the game / loaded the chunk, I would check all item frames and paintings. This requires that you know exactly where all of them are. If any of them are visible, break them, and place them back again. If any of them are invisible, then take note of where they are, and check them next time you reload the chunk.

      Step 2: Remove all duplicate entities
      This step is more complex. Each time I connected to the game or reloaded the chunk, I took note of every single message in the console that said "keeping entity with UUID...", and recorded all of the UUIDs. Each of these UUIDs will probably need to be removed twice - once now, and once when you next reload the chunk. However, some of them will be "invisible" in the same way that the paintings and item frames are invisible. So you might not be able to delete them on this specific round, but will have to check them next time you load the chunk.

      With all of these UUIDs recorded, I used commands to teleport to each entity, and kill it. I did this once for all new UUIDs listed in the console (first time killing those entities), as well as once for every UUID that was listed in my most recent reloading of the chunk (i.e. killing those entities for a second time) as well as going back through any entities which were missing during previous chunk reloads.

       

      Conclusion
      Every time I had removed all entities that I could find, I would disconnect from the world, and reconnect, and this would uncover new entities being kept, listed in the console, and the process would repeat. After systematically removing every single duplicate, reloading the chunk, and removing them again, I eventually reached a point where I had removed every single duplicate, and every single painting and item frame. At this point, the bug appears to have been undone. I am not experiencing any more messages in the console about entities being kept, and I have not observed any duplicate entities in the world.

      I tested this theory one final time by placing a single painting, and reloading the chunk, and this caused a whole string of duplicated entities to be created, which needed to again be removed twice each, each uncovering new duplicate entities.

            Unassigned Unassigned
            beemo333 Matthew Harvey
            Votes:
            2 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: