Hi, I have this behavior that I see a lot when rendering with Maya.
Some scenes will render the frames correctly, then return some strange error, and restart the render. Loosing the rendered image in the process. Some user need to workaround this by waiting for the job to start then modify the priority, hoping that when the job crash, it doesn’t get requeued right away. They can then copy the rendered frame.
Here is the log of such a job:
[…]
0: STDOUT: GAPM 0.1 info : triangle count including retessellation : 0
0: STDOUT: DB 0.1 info : disk swapping: 0 objects (0 KB) swapped out in 0.00 s,
0: STDOUT: DB 0.1 info : 0 objects (0 KB) swapped in in 0.00 s, max swap space used 0 KB, 0 KB failed
0: STDOUT: PHEN 0.1 info : Reflection rays skipped by threshold: 1072431
0: STDOUT: PHEN 0.1 info : Refraction rays skipped by threshold: 8647
0: STDOUT:
0: STDOUT: Finished Rendering Frame 1
0: INFO: Deadline Slave ignoring error: “Error: Scene //Isilon/alpha/data/work/shea_phoenix/painted_trails_sales_center_vp_she_040907_az/interior_home_rendering/Modele_1322_Living/scenes/maya_2008_LIV_v2.mb failed to render.” because it is not usually fatal.
0: STDOUT: Error: Scene //Isilon/alpha/data/work/shea_phoenix/painted_trails_sales_center_vp_she_040907_az/interior_home_rendering/Modele_1322_Living/scenes/maya_2008_LIV_v2.mb failed to render.
0: STDOUT:
0: STDOUT: // Maya exited with status 210
0: INFO: Process return code: 211
Scheduler Thread - Render Thread 0 threw an error:
Scheduler Thread - Exception during render: Renderer returned non-zero error code, 211
As you can see the renderer reports that he finished rendering the frame: “Finished Rendering Frame 1”
But then it report that it failed to render…but Deadline is ignoring this error as you can see.
After all that it reports that Maya exited with status 210 and crash.
What’s strange is that this error “Maya exited with status 210” is ignore by my MayaErrorParsing.ffs
Any clues to what might be appening there?
Is it Deadline Slave that detect a bad Maya exit?
Sylvain Berger | Technical Director | Alpha Vision
Hi Sylvain,
By design, Deadline will always fail the job if it returns a non-zero
error code (in this case, Maya is returning an error code 211). However,
you can modify the maya plugin to ignore specific error codes. Check out
this post for an example (it’s for XSI and After Effects, but you should
get the idea):
http://support.franticfilms.com/wb/default.asp?action=9&read=84&fid=7&BoardID=2#311
Look at the second post in the thread. All you have to do is replace the
-1073741819 error code with 211. Also, make sure the CheckReturnCode…
code is all on one line.
I googled the problem, but I didn’t find anything helpful. The only two
threads I found on the subject where for Maya on linux and OSX,
respectively:
http://forums.cgsociety.org/archive/index.php/t-479706.html
http://forums.cgsociety.org/archive/index.php/t-435122.html
Cheers,
- Ryan
–
–
Ryan Russell
Frantic Films Software
http://software.franticfilms.com/
204-949-0070
Ho nice, i didn’t know about that return code thing.
Could you confirm that this code will work?
I have put it on multiple lines for easy reading, in the Maya.dlinit file it is on one line.
CheckReturnCode=if( ReturnCode() != 0 ) {
if ( ReturnCode() == 206 ) {
FailRender( “Maya could not parse the command line. Two common causes for this\nare using the wrong project directory, or using a drive root ( i.e. “c:\” ) as\nthe output directory. In Maya 5, make sure that there are no spaces or backslashes in your project path.” );
}
else if ( ReturnCode() == 210 ) {
LogInfo( “Maya returned an error 210, this error have been ignored by Deadline. If this cause problem please report the problem to your friendly neighborhood Technical Director.” );
}
else {
FailRender( "Renderer returned non-zero error code, " … ReturnCode() );
}
Thanks
Sylvain Berger | Technical Director | Alpha Vision
Try checking for error code 211 instead of 210. If you look at the end
of the slave log:
0: STDOUT:
0: STDOUT: // Maya exited with status 210
0: INFO: Process return code: 211
Scheduler Thread - Render Thread 0 threw an error:
Scheduler Thread - Exception during render: Renderer returned non-zero
error code, 211
You’ll see that Maya is actually returning code 211, despite the fact
that it says it’s exiting with status 210.
Cheers,
- Ryan
–
–
Ryan Russell
Frantic Films Software
http://software.franticfilms.com/
204-949-0070
Yeah I though of that.
And all my if … else if … else thing should work?
Sylvain Berger | Technical Director | Alpha Vision
I think you might be missing a ‘}’ at the end of the line. If I space the code you posted out, I get this:
CheckReturnCode=
if( ReturnCode() != 0 )
{
if ( ReturnCode() == 206 )
{
FailRender( “Maya could not parse …” );
}
else if ( ReturnCode() == 210 )
{
LogInfo( “Maya returned an error …” );
}
else
{
FailRender( “Renderer returned …” );
}
Thanks Ryan, I have done the change. let’s see how it goes.
Sylvain Berger | Technical Director | Alpha Vision