Possible Memory Leak
mrgrim opened this issue ยท 7 comments
When running the farm from the world download here: https://www.youtube.com/watch?v=IyQYrR_S6Es&t=932s
My client eventually exhausts the heap and crashes with an out of memory error when running Canvas 1.0.1011.
Negative. I'm uploading my config and the two logs for each time it happened. Both times I was running that farm, albeit one built on a server and bone-mealing nylium instead of grass. Removing Canvas prevented future crashes. Unfortunately it doesn't look like a crash report was generated.
I'm using OpenJDK 14.0.2+12 on Windows 7 with the following command line:
-Xmx2G -Xms2G -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+AlwaysPreTouch -XX:+UseLargePagesInMetaspace
I'm trying Canvas 1.0.1017 tonight, and I'll attempt to reproduce.
OK, I've completed a full run of the farm on 1.0.1017 and did not encounter any issues this time. It could be I didn't run it long enough, but it had crashed by now the two times before. The heap also seemed consistent watching it on the F3 screen. I don't know if my prior issue was an aberration, if the newer snapshot resolves the issue, or what. I'll let you know if I see it again.
So, I ran into another OOM condition. This time I was doing mass digging and landscaping? I'm going to try removing the mod again and see if it happens again tonight.
Playing without the mod for a couple of days and no more OOM conditions. Two things I haven't tried is a different Java version or updating GPU drivers. I'll do the later tonight. Do you have any advice on Java versions? Should I move forward to 15, or go backward to the latest 11 or even all the way back to 8?
Thank you for the updates. The fact that it happened while doing mass digging and that it happens without the experimental pipeline makes it sound like it's related to chunk rebuilds. There is some info at the bottom left of the F3 screen that tracks buffers in use that may help confirm. It was added to help isolate earlier memory leaks. I'll see if I can replicate.
As for java version, it's compiled on 8, my dev environment is usually 11 or 14. It should run on anything 8+, but generally the newer versions perform slightly better.