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

The image write callback is never freed, leaking small amounts of memory for each screenshot

    XMLWordPrintable

    Details

    • Confirmation Status:
      Unconfirmed

      Description

      Due to MC-133136 it isn't possible to directly check this in current releases, but the same code is present still.

      The STBIWriteCallback instance that is created to save screenshots is never free'd after use, causing a very small memory leak. (This callback exists to fix MC-121714). Simply adding a free call or putting it into the existing try-with-resources block would solve this.

      In 1.13-pre3, the leak detector (-Dorg.lwjgl.util.Debug=true -Dorg.lwjgl.util.DebugAllocator=true) reports:

      [LWJGL] 16 bytes leaked, thread 1 (Client thread), address: 0x2110000
      	at org.lwjgl.stb.STBIWriteCallback.<init>(STBIWriteCallback.java:37)
      	at dfw$a.<init>(SourceFile:325)
      	at dfw$a.<init>(SourceFile:321)
      	at dfw.a(SourceFile:349)
      	at dfw.a(SourceFile:318)
      	at cjh.a(SourceFile:45)
      	at cjh.a(SourceFile:30)
      	at ciz.a(SourceFile:276)
      	at org.lwjgl.glfw.GLFWKeyCallbackI.callback(GLFWKeyCallbackI.java:23)
      	at org.lwjgl.system.JNI.invokeV(Native Method)
      	at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:2520)
      	at cjm.a(SourceFile:296)
      	at cjc.c(SourceFile:839)
      	at cjc.a(SourceFile:378)
      	at net.minecraft.client.main.Main.main(SourceFile:143)
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                boq [Mojang] Bartosz Bok
                Reporter:
                pokechu22 [Mod] Pokechu22
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: