Need help making sense of a crash report during big render - Terragen 4 on a Mac

Started by jmadden, June 11, 2018, 12:59:52 PM

Previous topic - Next topic

jmadden

Hello!
I've been rendering a large project for nearly 300 hours (14400x18000 poster) and I was expecting it to finish up soon when this morning I got a segmentation fault and a crash report instead of a pretty picture...
I wasn't at the computer at the time, when I checked the program had quit and nothing was saved. It had an output folder designated and the save-after-render process had been working on the smaller renders I had done for the same project. 

What I want to figure out is...
- What went wrong and how could it have been prevented?
- Can I confidently start this render again and expect it to save?
- Can I expect other renders this size to fail?

Here is the crash report
https://drive.google.com/file/d/1Gqk_cv0lFP1nxqGN-Zt-ARB4Xjtul_VE/view?usp=sharing

System specs
Late 2014 iMac running Yosemite 10.10.5
      3.5 GHz Intel Core i5
      16 GB 1600 MHz DDR3
      AMD Radeon R9 M290X 2048 MB
Terragen 4.1.11 Professional Edition

I have a feeling it may have just had so much going on when it finished that it crashed. The file sizes must have been at least a Gb.

Thanks in advance!

ajcgi

I would never ever attempt a still that big in one go. Break it into tiles, rendering out with an overlap so you can blend the seams.
How large is the actual poster going to be? You might be surprised how low detail billboards actually are for example.

Dune

And 16gigs is not really that much, especially if it has a lot of pops or objects. You might have hit the celing after 299 hours.
If you do as ajgi says, you should also use the cropoutput version, so no memory is lost to black areas. I tend to make overlapping crops and make a say 4 crop animation (uncheck motion blur to be sure) out of it. Render animation, and you have a better chance to get good results.

WAS

Higher cache will allow inactive random access memory to be cached until it's called again, saving dramatically on renders. It's apparently how I can render a scene with 8gb (or on the intel stick with 4gb RAM) while it maxes out way above that on other peoples machines. I have 32gb cache on ReadyBoost, but that's a microsoft thing, but you should be able to do similar with swap.

Most people just rely on their large chunks of RAM, while failing to realize they're doing RAM intensive stuff, which needs cache when memory that's held on to is idle. By default, you have like 64MB to 512MB on Yosemite, really nothing, and assumes the system is running like 4gb of RAM. With TG that could be taken up in a instant, and cause file paging to slow down to the point it interferes with RAM which is also under heavy load.

Always good to have lots of cache for RAM overflow if you are constantly utilizing near full loads on your DIMMs.

Matt

It looks like it failed while trying to allocate a block of about 3 Gb (calculated from the 18k x 14k image size), and it looks like your system was already pretty close to maxing out your VM. But I don't have much experience debugging Mac crash logs so I might have this completely wrong.

This happened while doing the final GISD pass. It needs to allocate some temporary buffers to complete this step. Although the buffer it was trying to allocate at the time of the crash was about 3 Gb, it probably needed to do other similar-sized memory allocations around the same time, so even if your RAM use was well below the limit before the GISD step started it could still hit the limit here. As others have said, 18k x 14k is a very large image for Terragen to render, and few of us have experience rendering images of that size. It may have worked if you had more RAM in the system, or a larger VM allocation, but I'm not sure. It may have completed if you turned off GISD, but other post processes such as bloom and starburst may have run into similar problems.

If the scene had very large RAM requirements for objects and populations, then using smaller pops and/or simpler objects could have left more room for the final image processing steps to complete.

If my reading of the crash log is correct, you were leaning heavily on VM which must have had a terrible effect on render speed. If possible, add some more physical RAM to you system and you will probably render in a fraction of the time.

Matt
Just because milk is white doesn't mean that clouds are made of milk.

WAS

Quote from: Matt on June 12, 2018, 09:32:12 PM
...

If the scene had very large RAM requirements for objects and populations, then using smaller pops and/or simpler objects could have left more room for the final image processing steps to complete.

...

Matt

This really does make a dramatic impact in some instances. Back when I played with free models and was trying to model, I noticed that I was over-doing populations. I think I was even advised by Matt or Oshyan to slightly increase the spacing of objects, and coupled with my density shader, I'd save on memory, and on crashes. This was back on this same processor I am having to use now again, granted this time around other hardware is far better.

But in general, my scene didn't actually change that much, and it didn't crash on me, and it was finished by morning, rather than crawling on (though my resolution was muuuch smaller being on free version lol)

Edit: In a secondary thought, more aimed towards matt, is it possible when you have really dense populations, that clipping can cause slowdowns with calculations in stuff like UV/Reflection/Transparency?

Matt

Quote from: WASasquatch on June 12, 2018, 10:45:33 PM
Edit: In a secondary thought, more aimed towards matt, is it possible when you have really dense populations, that clipping can cause slowdowns with calculations in stuff like UV/Reflection/Transparency?

It probably depends what you mean by clipping. This question should be continued in its own separate thread.

Matt
Just because milk is white doesn't mean that clouds are made of milk.

jmadden

Thank you all for the help!
My scene only had 3 objects (planet sphere, ocean sphere, and a moon sphere) and no populations but I did have a few cloud layers.
I will render it in chunks as suggested and paste them all together in post. Any tips on what to expect for doing it this way vs all at once? My main concern is any post effects such as bloom not matching up.
I've attached a tiny render for reference.


Dune

That could be a problem indeed, but maybe if you use enough overlap you can get it right in post. I also wonder if these are the clouds you used, on the planet? You could probably replace those by a texture, by the looks of it in this crop. Usually interstellar renders are extremely fast (no atmo's really, or water or reflections), and even for such a quite huge size, it shouldn't take 300 hours, IMO. But I don't know the total setup, and your specs of course.

ajcgi

My suggestion is to do the post work yourself in your favourite image editing software. That way you can assemble all of this and fake the blooms yourself.