From: Daniel Browne <dbrowne@(email surpressed)>
Subject: Rendering with CS5 AE
   Date: Wed, 02 Jun 2010 21:46:29 -0400
Msg# 1937
View Complete Thread (8 articles) | All Threads
Last Next
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. Is there a way to force only AE scripts to execute as a specific user? I know there is a parameter in the rush config file to execute all jobs as a specific user, but I'd rather it just be exclusive to AE jobs. Is that possible?

Thanks,

-Dan


----------
Dan "Doc" Browne
System Administrator



Attachment: pastedGraphic.tiff
Description: pastedGraphic.tiff



Evil Eye Pictures
dbrowne@(email surpressed)
Office: (415) 777-0666


   From: Greg Ercolano <erco@(email surpressed)>
Subject: Re: Rendering with CS5 AE
   Date: Thu, 03 Jun 2010 01:24:02 -0400
Msg# 1938
View Complete Thread (8 articles) | All Threads
Last Next
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)

   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)


   From: Greg Ercolano <erco@(email surpressed)>
Subject: Re: Rendering with CS5 AE
   Date: Thu, 17 Jun 2010 21:49:08 -0400
Msg# 1940
View Complete Thread (8 articles) | All Threads
Last Next
Daniel Browne wrote:
> - 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.

	I'd suggest contacting Adobe about that one.

	Assuming you can replicate the problem from the command line
	(ie. ssh into the remote machine as the same user rush is rendering
	the job as when the problem occurs), and then report the problem to
	them in that context. Leave "rush" or "we're using a render queue"
	out of the support call, so that it doesn't confuse them.

> - 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)

	Can't answer to this, as I'm not sure what limitations are built
	into AE that prevent this.

	I have a feeling that AE might still be internally using OS9 techniques
	for accessing files (eg. the old "some:path:dir" instead of "/some/path/dir"
	pathnames) One can sometimes see those old OS9 style pathnames in AE's output.

	I understand they're trying to get away from that old stuff, but it's
	been taking them a while because internally Adobe shares the same libraries
	among all their products.

	Long ago AE had problems accessing files on more than one network volume..
	not sure if that's still the case, but I believe that was an OS9 limitation
	as well. Might be related.

> - 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. 

	Can you include a copy of the complete log from one of these frames?
	Then I can help show you what commands to add to the submit script
	logic so you can catch those errors and handle them properly.

> Do you know of another way
> or do I simply have to capture the stdout and search for an error message?

	stdout/err capture is the only other way, and there's a function
	built into the scripts called LogCheck() which lets you specify
	one or more regex strings that searches the logs, correctly skipping
	over retry attempts.

> - 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.

	Yes, this is really annoying, details on that were posted
	here on the group a few months ago here:
	http://seriss.com/cgi-bin/rush/newsgroup-threaded.cgi?-view+1906+1906

	This cropped up because Adobe made a change in CS3 that causes the
	render process to disconnect itself from the process hierarchy,
	effectively orphaning the process.

	Adobe is aware of the problem as of November 2009, and is trying
	to fix it. I worked directly with the AE devs on that issue.

	The AE engineers came up with a javascript mod as a temporary
	workaround to solve the problem; I can try to follow up with
	those engineers through myself on your behalf; contact me off list.

	This can be replicated from the command line as well by just
	running aerender interactively, and then killing it.

	You don't have to reboot to fix the problem, you can do something
	like a 'killall' command as root to kill the aerendercore and
	associated processes.

	Until Adobe fixes this, all render queue systems and distributed scripting
	of AE is affected by this.

>   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.

	If you look carefully at the process hierarchy, you can determine which
	processes need to be killed.. there's more than one.

	Mac's ps(1) command unfortunately doesn't seem to have an equivalent of
	the linux 'ps -fax' command, which shows the process hierarchy as a 'tree'
	so you can see what's parented to what.

	I do, however, have a script on my homepage that does the equivalent
	on the mac (and in fact, on most all unix platforms):
	http://seriss.com/people/erco/unixtools/piss

	..which if you run it, will show you the process tree on a Mac
	so you can see which processes are parented to what, and will help you
	determine what needs to be killed to free up the box. Example report:
	http://seriss.com/people/erco/unixtools/sample-piss.html

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

   From: Brett Buddin <brett.buddin@(email surpressed)>
Subject: Re: Rendering with CS5 AE
   Date: Mon, 01 Nov 2010 09:17:17 -0700
Msg# 1969
View Complete Thread (8 articles) | All Threads
Last Next
On 2010-06-17 21:49:08 -0400, Greg Ercolano said:

Yes, this is really annoying, details on that were posted
	here on the group a few months ago here:
	http://seriss.com/cgi-bin/rush/newsgroup-threaded.cgi?-view+1906+1906

	This cropped up because Adobe made a change in CS3 that causes the
	render process to disconnect itself from the process hierarchy,
	effectively orphaning the process.

	Adobe is aware of the problem as of November 2009, and is trying
	to fix it. I worked directly with the AE devs on that issue.

	The AE engineers came up with a javascript mod as a temporary
	workaround to solve the problem; I can try to follow up with
	those engineers through myself on your behalf; contact me off list.

	This can be replicated from the command line as well by just
	running aerender interactively, and then killing it.

	You don't have to reboot to fix the problem, you can do something
	like a 'killall' command as root to kill the aerendercore and
	associated processes.

	Until Adobe fixes this, all render queue systems and distributed scripting
	of AE is affected by this.

Have you received any updates as to when, or if, this might be corrected in CS5? It appears that the issue is still around.

If not, what sort of measures have you implemented to determining that renders have actually completed (when you receive false negatives or positives from aerender)? So far, I've been watching the status returned by the aerender process and monitoring the log file it creates to determine when the render is complete, but that doesn't seem to be completely reliable.

We're running multiple instances of aerender on a single machine so a "killall" against aerendercore, when it hangs, isn't an option.


   From: Greg Ercolano <erco@(email surpressed)>
Subject: Re: Rendering with CS5 AE
   Date: Mon, 01 Nov 2010 15:48:43 -0400
Msg# 1970
View Complete Thread (8 articles) | All Threads
Last Next
Brett Buddin wrote:
> On 2010-06-17 21:49:08 -0400, Greg Ercolano said:
> 
>>      Yes, this is really annoying, details on that were posted
>> 	here on the group a few months ago here:
>> 	http://seriss.com/cgi-bin/rush/newsgroup-threaded.cgi?-view+1906+1906
>>
>> 	This cropped up because Adobe made a change in CS3 that causes the
>> 	render process to disconnect itself from the process hierarchy,
>> 	effectively orphaning the process.
>>
>> 	Adobe is aware of the problem as of November 2009, and is trying
>> 	to fix it. I worked directly with the AE devs on that issue.
>>
>> 	The AE engineers came up with a javascript mod as a temporary
>> 	workaround to solve the problem; I can try to follow up with
>> 	those engineers through myself on your behalf; contact me off list.

> Have you received any updates as to when, or if, this might be 
> corrected in CS5? It appears that the issue is still around.

	No, I haven't. The Javascript mod they offered is the only one
	I've seen so far.

> If not, what sort of measures have you implemented to determining that 
> renders have actually completed (when you receive false negatives or 
> positives from aerender)?

	Renders finish OK, the problem only occurs when you try to
	stop a render while it's running (eg. requeuing busy frames,
	or dumping jobs that have busy frames).

	To that, there's really no answer except to 'End' these
	jobs instead of 'Dump' them, and not requeue frames that are busy.

	There's no technical solution I'm aware of that rush can do;
	it really has to be fixed on the Adobe side, due to how the
	processes become so completely disconnected that it's fairly
	impossible to tell which process is associated with which.

> So far, I've been watching the status 
> returned by the aerender process and monitoring the log file it creates 
> to determine when the render is complete, but that doesn't seem to be 
> completely reliable.

	Right, there's no good solution.

	The only one I can think of is to somehow use the TCP socket
	connections between aerender and AfterFX to determine which
	process goes with which, but that's very unreliable too.

	The javascript solution Adobe offered sounded like the
	right direction to go, where the main program watches
	aerender to see if it disappears, and if so, stops the main
	application right away.

	They said they weren't completely happy with that, and there's
	probably a cleaner way to do it, and they were investigating this.

> We're running multiple instances of aerender on a single machine so a 
> "killall" against aerendercore, when it hangs, isn't an option.

	Right. No clear solutions externally to AE seem possible.
	It has to be fixed from within.

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

   From: Daniel Browne <dbrowne@(email surpressed)>
Subject: Re: Rendering with CS5 AE
   Date: Thu, 17 Jun 2010 22:53:25 -0400
Msg# 1941
View Complete Thread (8 articles) | All Threads
Last Next
Unfortunately I've already overwritten the bad frame logs from today's tests. On the off chance that it will be of use you'll find a successful frame log at the end of this message.

To me it looks as if AfterEffects is bound to the static location of the Mac's /Library as well as the intended install locations of some if not all of the other pieces of the CS5 suite itself, so it may not be possible at all to have a central library.

Using killall on aerendercore or aerender so far has not solved the zombie problem, so this issue may have gotten worse in CS5 from what you've described. One aspect of MacOS X that frustrates people who've used other unix platforms is that there are situations in which even kill -9 as root will not terminate a stuck process. This is particularly true if you have an OpenGL or graphics driver error. You'd think having created OpenCL that Apple would finally want to do something about that...

In the mean time I'll give the LogCheck function a try.

-Dan


###
### neildiamond.333: 0006
###
--------------- Rush 102.42a9d --------------
--       Host: r32
--        Pid: 275
--      Title: render_test5
--      Jobid: neildiamond.339
--      Frame: 0006
--      Tries: 0
--      Owner: dbrowne (1089/20)
--  RunningAs: dbrowne (1089/20)
--   Priority: 1
--       Nice: 10
--     Tmpdir: /var/tmp/.RUSH_TMP.6
--    LogFile: /Casino/Poker/Shows/frd/frdCOMMON/frdDEV/gfx/scripts/dennisw/orDev_typeExploration_037-test.aep.log/0006
--    Command: perl /EEP/Tools/Settings/rush/rushscripts_v102.42a9/submit-afterfx.pl -render CS5 /Casino/Poker/Shows/frd/frdCOMMON/frdDEV/gfx/scripts/dennisw/orDev_typeExploration_037-test.aep origamiMAINAssemblev3EDIT /Casino/Poker/Shows/frd/frdCOMMON/frdDEV/gfx/images/Renders/rush_tests/origami_MAIN_Assemble_v3_EDIT_[####].tif 5 100 3 Fail 0 off
--    Started: Thu Jun 17 18:02:06 2010
--------------------------------------------
Possible unintended interpolation of @10 in string at /EEP/Tools/Settings/rush/rushscripts_v102.42a9/submit-afterfx.pl line 83.

	  SCENEPATH: /Casino/Poker/Shows/frd/frdCOMMON/frdDEV/gfx/scripts/dennisw/orDev_typeExploration_037-test.aep
	       COMP: origami MAIN Assemble v3 EDIT
	  OUTPUTDIR: /Casino/Poker/Shows/frd/frdCOMMON/frdDEV/gfx/images/Renders/rush_tests/origami_MAIN_Assemble_v3_EDIT_[####].tif
	  AEVERSION: CS5
	RENDERFLAGS: 
	BATCHFRAMES: 5 (6-10)
	    RETRIES: 3 (Fail after 3 retries)
	       PATH: /Network/Library/Fonts:/Applications/Adobe After Effects CS5:/Applications/Adobe After Effects CS5:/Applications/Adobe After Effects CS5:/Applications/Adobe After Effects CS5:/Applications/Adobe After Effects CS5:/usr/local/rush/bin:/usr/local/rush/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/rush/bin

Executing: aerender -mem_usage 60 120 -mp -project "/Casino/Poker/Shows/frd/frdCOMMON/frdDEV/gfx/scripts/dennisw/orDev_typeExploration_037-test.aep" -output "/Casino/Poker/Shows/frd/frdCOMMON/frdDEV/gfx/images/Renders/rush_tests/origami_MAIN_Assemble_v3_EDIT_[####].tif" -comp "origami MAIN Assemble v3 EDIT"  -s 6 -e 10 
Thu Jun 17 18:02:12 r32.eep.com aerender[279] <Warning>: 3891612: (connectAndCheck) Untrusted apps are not allowed to connect to or launch Window Server before login.
Thu Jun 17 18:02:13 r32.eep.com aerender[279] <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
_RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.
PROGRESS:  6/17/10 6:02:19 PM PDT: Starting composition origami MAIN Assemble v3 EDIT.


PROGRESS:  Render Settings: Best Settings
PROGRESS:  Quality: Best
PROGRESS:  Resolution: Full
PROGRESS:  Size: 1920 x 1080
PROGRESS:  Proxy Use: Use No Proxies
PROGRESS:  Effects: Current Settings
PROGRESS:  Disk Cache: Read Only
PROGRESS:  Color Depth: Current Settings
PROGRESS:  Frame Blending: On for Checked Layers
PROGRESS:  Field Render: Off
PROGRESS:  Pulldown: Off
PROGRESS:  Motion Blur: On for Checked Layers
PROGRESS:  Use OpenGL: Off
PROGRESS:  Solos: Current Settings
PROGRESS:  Time Span: Custom
PROGRESS:  Start: 00006
PROGRESS:  End: 00010
PROGRESS:  Duration: 00005
PROGRESS:  Frame Rate: 29.97 (comp)
PROGRESS:  Guide Layers: All Off
PROGRESS:  Skip Existing Files: On
PROGRESS:  
PROGRESS:  Output Module: TIFF Sequence with Alpha
PROGRESS:  Output To: /Casino/Poker/Shows/frd/frdCOMMON/frdDEV/gfx/images/Renders/rush_tests/origami_MAIN_Assemble_v3_EDIT_[####].tif
PROGRESS:  Format: TIFF Sequence
PROGRESS:  Output Info: -
PROGRESS:  Start Frame: 6
PROGRESS:  Output Audio: -
PROGRESS:  Channels: RGB + Alpha
PROGRESS:  Depth: Millions of Colors+
PROGRESS:  Color: Premultiplied
PROGRESS:  Resize: -
PROGRESS:  Crop: -
PROGRESS:  Final Size: 1920 x 1080
PROGRESS:  Profile:  -
PROGRESS:  Embed Profile:  
PROGRESS:   
PROGRESS:  Post-Render Action: None
PROGRESS:   
PROGRESS:   
PROGRESS:   
PROGRESS:  
PROGRESS:  00006 (1): 1 Seconds
PROGRESS:  00007 (2): 1 Seconds
PROGRESS:  00008 (3): 1 Seconds
PROGRESS:  00009 (4): 1 Seconds
PROGRESS:  00010 (5): 0 Seconds
PROGRESS:  6/17/10 6:02:25 PM PDT: Finished composition origami MAIN Assemble v3 EDIT.



PROGRESS:  Total Time Elapsed: 6 Seconds
aerender version 10.0x458
PROGRESS: Launching After Effects...
PROGRESS: ...After Effects successfully launched

--- AERENDER SUCCEEDS


   From: Greg Ercolano <erco@(email surpressed)>
Subject: Re: Rendering with CS5 AE
   Date: Fri, 18 Jun 2010 01:29:25 -0400
Msg# 1942
View Complete Thread (8 articles) | All Threads
Last Next
Daniel Browne wrote:
> Unfortunately I've already overwritten the bad frame logs from today's test=
> s. On the off chance that it will be of use you'll find a successful frame =
> log at the end of this message.

	I have plenty of those ;)

	Need the text with the actual error to offer you a good regex
	to search for.

	You can see the usage of LogCheck() by doing a grep on all the submit
	scripts for LogCheck, ie. 'grep LogCheck /path/to/your/rushscripts/*.pl'

	The code for that function is defined in .common.pl, and can take
	one or more regex's as an array, so that you can search for several
	strings in one shot. It also has a separate string that resets the
	search, useful for it to skip over retries.

> To me it looks as if AfterEffects is bound to the static location of the Ma=
> c's /Library as well as the intended install locations of some if not all o=
> f the other pieces of the CS5 suite itself, so it may not be possible at al=
> l to have a central library.

	I don't suppose symbolic links would help? ie. make a symlink(s)
	in the /Library/xxx directory where the extra fonts should go.
	Might be worth a shot.

> Using killall on aerendercore or aerender so far has not solved the zombie =
> problem, so this issue may have gotten worse in CS5 from what you've descri=
> bed.

	Since zombies aren't really processes, they're just the 'exit code'
	of the process, you don't really have to worry about them too much
	unless there's a lot of them.

	Killing them is useless, because they're already dead,
	just like in the movies ;)

	Zombies are created when the parent doesn't reap the exit code,
	which probably means the parent is still around somewhere.

> One aspect of MacOS X that frustrates people who've used other unix pl=
> atforms is that there are situations in which even kill -9 as root will not=
>  terminate a stuck process.

	This actually can happen on all unix platforms.. I used to run
	into this constantly on SGI and linux in the 90's (and to date)
	whenever a process is reading or writing to a hard mounted NFS share
	where the server has gone down or is not responding.

	The hanging process part is OK, you want it to do that, but if
	root comes along with kill -9, it SHOULD die, but it often never
	does. This is because the process is stuck in kernel mode, where
	signals aren't processed immediately the way they are in user mode.
	It can be done, but it's tricky/messy to do in kernel code at all
	the points where a hang could happen, so often processes stuck in
	kernel mode are unkillable.

	That would go for any kernel or driver operation that is 'stuck'
	for some reason, like tape operations or floppy drives...
	other situations where I've seen this occur.


> This is particularly true if you have an OpenGL=
> or graphics driver error. You'd think having created OpenCL that Apple wou=
> ld finally want to do something about that...

	It's all to do with the driver code and how well it's written
	to handle pending signals. It's very tricky to properly detect
	and unravel a kernel mode call that's got pending signals and
	have it react like a user mode operation.

> In the mean time I'll give the LogCheck function a try.

	Yes; see the usage in other submit scripts (like submit-maya,
	submit-nuke and submit-lightwave), and the definition of the
	function in .common.pl


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