← All ideas
  • Published 16 Jun 2021

Alternate way to handle crashes

Blender silently crashes when memory is overloaded. It's the nature of the beast. for many cases the solution is lots of autosaves so minimal work is lost. That's fantastic, no need to reinvent the technology over a few crashes, just save backups.

However, with animations it's not work that is lost, it's countless hours of render time as once Blender crashes, that's it, the render stops, and doesn't start again till you show up and restart it yourself.

So, my proposal is, when Blender crashes during an animation render, do one of the following:

  • instead of hanging. after a user-defined length of time, clear the cache and restart the current frame
  • after crashing, re-open blender and resume from the last frame
  • send a notification to the users phone so they can deal with it manually
  • send a notification to the user and allow the to launch blender and restart remotely
66.7%

Development Status: Open

Upvote 2 Downvote 1
jmaxwell
16 Jun 2021

2 Comments

Lauloque

I see what you mean, but to me this causes a lot of issues. Enabling an automated restart and reload after a crash is not always a good idea : depending on the reason of the crash and your setup it might damage the data you already have rendered, or just crash again and again resulting in useless hardware wear and electricity bills. And for the phone part, that seems quite intrusive to me, and who's gonna handle the operational part? You will need to create, pay and maintain servers just for that...

Maybe this is something some companies or freelances could handle because because they can pay for the extra service and all the expenses it represents, but I don't see this useful nor desirable for the common user.

In the meantime, there are already solid solutions for reducing crash impacts on animation rendering:

First, it is always advised to render image sequences for animation rendering.
In fact, everyone in the industry does that, unless it's a quick and dirty render like a playblast you're gonna put in the trash five minutes later, nobody renders directly as a video file and for multiple reasons.
One of them being that it's crash-proof: you only lose the current frame, but also because of all the additional data you can carry, how easy it is to update just a few frames or even one frame if there's a render artifact or a retake, it reads better and faster, ... You really see videos only at the end of the production line, after color grading, compositing, video editing, ... Where it's all done and dusted and ready to deliver.

Second, |I think it is planned with Cycles X to be able to resume a frame render, meaning you will be able to not lose that one frame you were rendering when it crashed.

Third: Really consider the first, it is the biggest game changer by far. You really same tons of time with that.

1
ManBlender

A log around "Out of memory" in log info can be good to return some info about problems, Eg.

  • number of objects, or something like this to optimize project
  • real state of memory or other parameters that doing problems