mojira.dev
MC-133140

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

:info: 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)

Linked issues

Comments 0

No comments.

pokechu22

boq

Unconfirmed

lwjgl, memory-leak

Minecraft 1.13-pre6

Minecraft 1.13-pre7

Retrieved