Closed w1th0utme closed 3 months ago
Which server implementation are you running?
Which server implementation are you running?
I can say pufferfish. It's actually a UniverseSpigot, but it's based entirely on pufferfish and can't exactly break anything in that regard.
Do you have any ideas about that?
I found a similar thing using v1.7.9.0, this is from a heap dump with 0 players online so there should be 0 CraftPlayer instances Seems like it comes from pendingKnownMapIds in com.loohp.imageframe.objectholders.AnimatedFakeMapManager, it's holding to Player instances even after they leave.
I found a similar thing using v1.7.9.0, this is from a heap dump with 0 players online so there should be 0 CraftPlayer instances Seems like it comes from pendingKnownMapIds in com.loohp.imageframe.objectholders.AnimatedFakeMapManager, it's holding to Player instances even after they leave.
Under player quit event, remove player object from pendingKnownMapIds map maybe can solve this? https://github.com/LOOHP/ImageFrame/blob/e1fe6dc81ecf50c76562991400549844893b5013/common/src/main/java/com/loohp/imageframe/objectholders/AnimatedFakeMapManager.java#L338
btw, I think it's better to store player uuid as key instead of the entire player object.
I found a similar thing using v1.7.9.0, this is from a heap dump with 0 players online so there should be 0 CraftPlayer instances Seems like it comes from pendingKnownMapIds in com.loohp.imageframe.objectholders.AnimatedFakeMapManager, it's holding to Player instances even after they leave.
Under player quit event, remove player object from pendingKnownMapIds map maybe can solve this?
btw, I think it's better to store player uuid as key instead of the entire player object.
Yep, that's what I did on my fork, just removed it on quit event, not sure if there are any side effects but so far didn't notice any problem.
Server version: 1.20.4 ImageFrame version: 1.7.8.2