[Bug] Memory Leak of Client Player
pietro-lopes opened this issue ยท 5 comments
Observed behaviour
Continuation of #549
Now it is holding on ClientMagicData on 3.4.5
Expected behaviour
No leak
Steps to reproduce
Same as old issue.
Server Type
Single Player
Crashlog
No response
Iron's Spells N Spellbooks version
3.4.5
Forge version
1.21.1 - 21.1.22
Other mods
No response
The SpellSelectionManager and the SpellBarOverlay do not store a reference to ClientMagicData, nor does any class
That SpellSelectionManager is thrown away when the player exits the world
https://github.com/iron431/irons-spells-n-spellbooks/blob/1.21/src/main/java/io/redspace/ironsspellbooks/player/ClientPlayerEvents.java#L70C15-L70C16
I see, but that does not include dimension change or death. Both triggers player creation again.
We don't have something similar to PlayerEvent.StopTracking on client side, so I don't know which event should be used for both cases (player dim change and death)
I would just not store player and replace player with Minecraft.getInstance().player
, this is not an expensive call, unless there is something I'm missing that you shouldn't use.