You could change the plugin to not care about errors after we’ve seen the success message:
def HandleStdoutError( self ):
# If the render was successful, there's no reason to fail the task
if self.RenderSuccess:
return
if "auto-save" in unicode(self.GetRegexMatch(0)).lower(): # This was an autosaving issue, so it was not necessarily a critical error
self.LogWarning( "After Effects auto-save was unsuccessful" )
else:
self.FailAERender( self.GetRegexMatch(0) )
You’d replace the current code in “[repo]/plugins/AfterEffects/AfterEffects.py”. If that works, I can make a push to fix that…
DL 10.0.10.3 introduced more debug logging in AE, so I would be interested in seeing a few example job log reports here before making judgement call on what might be the root cause of this false-positive exit at render end.
Some task fails then finished, some slaves works than fail… so instable.
It’s an heavy job, is could be a RAM problem… but still can’t understand why the frames are rendered & saved correctly but the task still fail.
On finished jobs, it looks like there’s a check of the files. Could it come from it ?
Hmm. “fin de la composition” is supposed to trip the value I’m using…
I wonder if it is now failing on the “FailWithoutFinishedMessage”… Can you enable that as well? It’s in the plugin config and is labelled “Fail Without Finished Message”. If you’re rendering quicktimes this may cause some trouble though.
Sorry I didn’t prioritize getting the render working… I was too focused on solving it the “right way”.
Can you attach your existing AfterEffects.py file here? I would like to make sure we’re properly matching for the French “fin de la composition” message. I’d rather other people not hit the same problem.
Deadline cannot currently use free RAM in it’s dequeuing decisions. You can great a group or limit for a certain amount of total memory, but if there is an unexpected lack of memory on the machine you will run into the same problem.
Was the problem with the types of machines which took the job, or was Deadline using too much memory?
i’m re-opening this thread because we are entering our full production with after effect.
We still have errors on jobs, but the frames are rendered correctly.
I’ve watch during rendering, and it doesn’t seems to be a RAM problem, the slave was ~50% RAM utilisation.
I’ll take any idea
Thanks
-p-
2018-04-23 12:49:25: 0: STDOUT: PROGRESS: Taille finale : 2078 x 858
2018-04-23 12:49:25: 0: STDOUT: PROGRESS: Profil : -
2018-04-23 12:49:25: 0: STDOUT: PROGRESS: Action post-rendu : Aucune
2018-04-23 12:49:25: 0: STDOUT: PROGRESS:
2018-04-23 12:49:44: 0: STDOUT: PROGRESS: 00004 (1) : 19 Secondes
2018-04-23 12:49:55: 0: STDOUT: PROGRESS: 00005 (2) : 11 Secondes
2018-04-23 12:49:55: 0: STDOUT: PROGRESS: 23/04/2018 12:49:55 : fin de la composition sXXpXXXX.
2018-04-23 12:49:55: 0: STDOUT: PROGRESS: Temps total écoulé : 38 Secondes
2018-04-23 12:50:12: 0: INFO: Checking for file "C:\Users\JDU\Documents\ae_render_only_node.txt"
2018-04-23 12:50:12: 0: INFO: Attempting to delete "C:\Users\JDU\Documents\ae_render_only_node.txt" to allow After Effects to run in the workstation environment
2018-04-23 12:50:12: 0: STDOUT: aerender ERROR Une connexion existante a dû être fermée par l’hôte distant.
2018-04-23 12:50:12: 0: STDOUT: : Unable to receive at line 316
2018-04-23 12:50:12: 0: Done executing plugin command of type 'Render Task'
à Deadline.Plugins.SandboxedPlugin.d(DeadlineMessage aqg)
à Deadline.Plugins.SandboxedPlugin.RenderTask(String taskId, Int32 startFrame, Int32 endFrame)
à Deadline.Slaves.SlaveRenderThread.c(TaskLogWriter agy)[/code]
yea we are rendering in workstation mode, all slave are licenced properly.
For your information, i’ve re-tweak the HandleStdoutError so we can continu working, but it seems the probleme is in here.
[code] def HandleStdoutError( self ):
# If the render was successful, there’s no reason to fail the task
if self.RenderSuccess:
return
if "auto-save" in unicode(self.GetRegexMatch(0)).lower(): # This was an autosaving issue, so it was not necessarily a critical error
self.LogWarning( "After Effects auto-save was unsuccessful" )
else:
self.FailAERender( self.GetRegexMatch(0) )[/code]
While we’re in there, we should also throw an error if nodes have a remote share for their local cache. I spent three hours once fighting a lockup to discover that nodes were all using the same location and we’re deadlocking on the filesystem.
I’ve added print message in the afterEffect.py and it looks like that even after passing in HandleRenderSuccess() the slaves goes inot the HandleStdoutError() anyway, and return an error.