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

Negative map IDs causes memory leak when updating ItemFrames

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Resolution: Invalid
    • Affects Version/s: Minecraft 1.13.2, Minecraft 19w03b
    • Fix Version/s: None
    • Labels:
      None
    • Environment:
    • Confirmation Status:
      Confirmed

      Description

      Steps to reproduce (vanilla)

      Comment

      Steps to reproduce (modded server)

      I would not submit a bug report if this was a server side memory leak. This is a client-side memory leak. I do not know if this has to do with pushing texture data for mini-maps when changing items on the ItemFrame, or if the metadata stores native item stacks in some way that is building up.

      The way to reproduce the memory leak is to send repeated changes to ItemFrames with item data, linking to pre-existing map ID's that are already sent to the player. I did this using Spigot's API and sending a series of 10 128x128 static mini-maps, repeatedly changing each ItemFrame every 10 ticks (1/2 second).

      For some reason, this causes the client's RAM allocation to jump dozens of megabytes per update (16x9 ItemFrames).

      This is what the board looks like. The board occasionally updates with invisible mini-maps every 5 or so updates, however I could assume that to be an issue with anything outside of the original minecraft code as I have fixed this using NMS packet code, although it may be worth noting.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                JabJabJab Joshua Edwards
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  CHK: