From: Daniel Browne <dbrowne@(email surpressed)>
Subject: Re: Rendering with CS5 AE
   Date: Thu, 17 Jun 2010 20:59:59 -0400
Msg# 1939
View Complete Thread (8 articles) | All Threads
Last Next
Thanks Greg,

I've gotten it to render, with a number of caveats (perhaps you can shed some light on some):

- Our NFS based /Network/Library/Fonts folder is not recognized by AE (I believe this has always been the case), so the fonts needed for the scene had to be copied locally. So far I've had no success trying to make it recognize the central library from environment parameters. This happens even with a render user logged in on the console, so it's not an automount issue.

- In that same vein I cannot centralize plug-ins either. Nor for that matter could I centralize the entire AE package itself (even if I didn't have the mounts set with the nosuid flag)

- The aerender binary does not seem to return its error number consistently on exit; I've had batches register as Done even when they've failed in the frame logs, despite what is in my submit script. Do you know of another way, or do I simply have to capture the stdout and search for an error message?

- When I fail or dump a batch to re-que it, it doesn't kill the aerendercore process and I have to kill it on the individual machine. This is probably the most serious problem as often even killing aerendercore isn't enough. The kill results in a zombie process that makes it impossible to run another render on the machine until you do a "reboot -q" on it.

-Dan



On Jun 2, 2010, at 10:24 PM, Greg Ercolano wrote:

[posted to rush.general]

Daniel Browne wrote:
> Hi Greg,
> 
> I'm working out a setup for rendering with CS5 After Effects and it appears Adobe still
> expects you to be logged into the desktop as the user executing the job. 

	Yes, after effects is still one of those renderers that has not yet
	separated their command line renderer from the GUI. AE's command line
	renderer, "aerender", still fires off the GUI and communicates with it
	to make the render happen. So it is still tied to the window manager,
	and this causes lots of weirdness. AE has always been this way, and
	it seems they have a very hard time changing it.


> Is there a way
> to force only AE scripts to execute as a specific user?

	You can use normal unix techniques to make the 'aerender' executable
	run as any user you want, just by setting the perms on the executable, eg:

chown 0:0  /path/to/aerender
chmod 4755 /path/to/aerender

	..which will make aerender run as root (and all that implies)
	no matter what user invoked the command.

	Root is never denied access to the window manager, so that would
	force it to not have permission issues with the window manager.

	However, if you prefer to have aerender run as a normal user, you can
	use the same commands in a similar way.

	For instance if the username is 'render' and the group is "users",
	then you can use:

chown render:users /path/to/aerender
chmod 4755 /path/to/aerender

	..to make "aerender" run as 'render' instead.

	Usually just making the aerender executable setuid as the user you want
	would do the trick, but in the recent versions of AE (CS3 and CS4 and
	possibly 5), you may need to go an extra step and make the AE GUI binary
	setuid.

	(It used to be the case that 'aerender' started the AE GUI with fork()/exec(),
	such that the GUI was part of the same process hierarchy, but they made a mistake
	in CS3 that causes the GUI to disconnect from the process hierarchy.. meh)

	Someday we really all should hope Adobe will rewrite aerender so that it
	does the rendering itself, and does not need the GUI to do any rendering.
	This way distributed rendering with AE would be solid like the rest of the
	compositors (nuke, shake..)

-- 
Greg Ercolano, erco@(email surpressed)
Seriss Corporation
Rush Render Queue, http://seriss.com/rush/
Tel: (Tel# suppressed)
Fax: (Tel# suppressed)
Cel: (Tel# suppressed)


Last Next