Canvas Renderer

Canvas Renderer

202k Downloads

Possible Memory Leak

mrgrim opened this issue ยท 7 comments

commented

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.

commented

Is experimental pipeline enabled?

commented

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.

canvas.json5.zip
2020-10-16-2.log.gz
2020-10-16-3.log.gz

commented

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.

commented

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.

commented

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?

commented

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.

commented

Not able to reproduce with default JVM parameters. Will try later with yours.

You might try turning on Safe Memory Allocation in the config. Less likely to help is turning off Greedy Render Thread or Parallel Terrain Setup. (All in Tweaks section)