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

The GL debug message callbacks are never freed, causing memory leak warnings

    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 GL debug log callback is never freed, which causes LWJGL's allocation tracker to complain when the game exists if it is enabled (which might hide other real memory leaks). This requires glDebugVerbosity to be set to something nonzero in options.txt; however, it defaults to 1 so that is already the case.

      This is the case for both the KHRDebug version and the ARBDebugOutput version.

      Since these callbacks last the life of the game, it probably makes sense to just mark them as non-freed using LWJGLMemoryUntracker (or whatever the thing in MC-133136 is called).

      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: 0x250B0000
      	at org.lwjgl.opengl.KHRDebug.glDebugMessageCallback(KHRDebug.java:356)
      	at cwo.b(SourceFile:1345)
      	at cjc.an(SourceFile:425)
      	at cjc.a(SourceFile:363)
      	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: