Combustion: Output Path not respecting UpperCase LeTTeRS

Hi,
Combustion jobs when they finally save the output to the file server, are NOT respecting upper-case letters in either the path or the file name.

Job Report:

0: Job already loaded: Untitled 0: Plugin rendering frame(s): 8-9 0: INFO: Handling stdout that matches regex ".*ERROR:.*" 0: INFO: Handling stdout that matches regex ".*Footage not found:.*" 0: INFO: Handling stdout that matches regex ".*Done frame ([0-9]+) of ([0-9]+).*" 0: INFO: Stdout Handling Enabled: True 0: INFO: Popup Handling Enabled: False 0: INFO: Using Process Tree: True 0: INFO: Hiding DOS Window: True 0: INFO: Creating New Console: False 0: INFO: Render Executable: "C:\Program Files\discreet\combustion 4\ShellRenderer.exe" 0: INFO: Render Argument: -nobar -start 8 -end 9 -startnumber 8 -skip 1 -output "Composite/output1" -file "Z:\RnD\000_Mike\MIRROR CAR[#].tga" -quality best -depth 8 -framesize normal "C:\Documents and Settings\nvisage\Local Settings\Application Data\Frantic Films\Deadline\slave\jobsData\Capital_letters.cws" 0: INFO: Startup Directory: "C:\Program Files\discreet\combustion 4" 0: INFO: Process Priority: BelowNormal 0: INFO: Process is now running 0: STDOUT: Combustion (4.0.5.288) Command Line Renderer 0: STDOUT: ******************************************** 0: STDOUT: 0: STDOUT: Processing: Using 4 CPUs and a maximum of 2771Mb RAM 0: STDOUT: Workspace: c:\documents and settings\nvisage\local settings\application data\frantic films\deadline\slave\jobsdata\capital_letters.cws 0: STDOUT: 0: STDOUT: Output: Output settings for output1 0: STDOUT: Preset: Settings were originally based on Targa sequence (32-bit) - Best 0: STDOUT: Rendering to: Targa (Best mode) 0: STDOUT: Size: Full (960x540) 0: STDOUT: Channels: Color+Alpha ( 8 Bit depth per channel) 0: STDOUT: Field Order: No Fields 0: STDOUT: Frames: from 8 to 9 0: STDOUT: File Output: z:\rnd\000_mike\mirror car[#].tga 0: STDOUT: 0: STDOUT: Elapsed time: 0 SecondsDone frame 0 of 2 0: STDOUT: Done frame 1 of 2 0: STDOUT: Elapsed time: 0 SecondsDone frame 2 of 2 0: INFO: Process exit code: 0 0: Render time for frames: 5.263 s 0: Total time for task: 7.227 s </ReportMessage> <_SlaveVersionString>v3.1.0.35390 R</_SlaveVersionString> <JobName>Untitled</JobName> <JobSubmitUserName>owenm</JobSubmitUserName> <JobSubmitMachineName>Bur5-js4y93j</JobSubmitMachineName> <JobSubmitDateTime>2009-06-11T11:01:20</JobSubmitDateTime>

Take note the difference between:

Command sent as the render argument:
Z:\RnD\000_Mike\MIRROR CAR[#].tga

The actual saved file argument:
z:\rnd\000_mike\mirror car[#].tga

This is a really annoying bug as it is compounded by Combustion which doesn’t recognise the 2 output image sequences as being the same. ie: If you are overwriting the same footage, it doesn’t end up overwriting and you create 2 sets of image sequences…

Not too sure, what is causing this, but my best guess, is I was able to trace it as far back as the actual “Combustion.py” plugin file?

The combustion_plugin_info.job is correct with the output as = OutputFile=Z:\RnD\000_Mike\shit\MIRROR CAR[#].tga

It just seems to go wrong at the outputting of the footage part of the process…

Mike

Just tested this here with Combustion 4, and we couldn’t reproduce the problem. So I checked if we were doing something different in 3.1 then we’re currently doing with our working copy of 3.1 SP1, and nothing stands out that would be the cause of the problem.

Have you tried rendering with Combustion from a command prompt outside of Deadline to see if you get the same results?

Cheers,

  • Ryan

OK, still getting the problem, so here’s what I have tested so far…

  1. Render locally within Combustion GUI, using 4.0.5.288. Outputfilename is as expected.
  2. Submit exactly the same Combustion file to backburner farm, again, result has upper and lowercase characters correctly displayed as per the local render.
  3. Submit the same file to deadline, WRONG!, output path and output filename all converted to lowercase!

(interestingly, if say, the render sequence, is 0-360 and the first 50 frames already exist, Deadline doesn’t change the output filename for these first 50 frames, but does from frame 51 onwards to lowercase…) BTW: “Skip existing frames” is checked OFF.

As backburner rendering, effectively uses the command line prompt, backburner seems to behave, but Deadline isn’t in this case…

Strange!

Mike

Just to double-check, I am getting the same problem on a different network, different files, using Combustion 2008.0.0.330 under Windows XP x64 OS.
That should eliminate any weirdness on my work network/permissions, etc.
Mike

Just realised that Combustion uses “NetRenderer.exe” but Deadline uses “ShellRenderer.exe”, I’m wondering if there is some kind of difference/bug between the 2 systems?

Yeah, ShellRenderer.exe is combustion’s command line renderer. Did you have a chance to try rendering from a command prompt using this executable to see if the problem exists outside of Deadline? I didn’t see this listed in your tests.

Hey Ryan,
OK, using just the shellrenderer.exe through the cmd line and Yes, its Shellrenderer.exe that is causing the BUG!
We don’t have Combustion v3 in play any more in our pipeline, but I notice that Deadline is targeted to use the “NetRenderer.exe” and not the “Shellrenderer.exe”…What’s the reason for this change? Can we re-target Deadline to use the Shellrenderer.exe for Combustion v4 files as well to see if that fixes the problem? Does the ShellRenderer.exe work better than the NetRenderer.exe? Why does Backburner use the NetRenderer.exe and NOT the ShellRenderer.exe… Weird…?

EDIT: Just tried re-targeting the NetRenderer.exe for Combustion v4 files and it doesn’t work. :frowning:

Thanks,
Mike

Backburner starts up NetRenderer and communicates with it using file communication, and figuring out that file communication took a lot of work when we initially supported Combustion 3. This file communication isn’t documented anywhere, so it’s really difficult for us to support it, especially if things change or new things are introduced in future versions. We’ve left Combustion 3 support in the plugin for legacy purposes, and there are no plans to use NetRenderer for future versions of Combustion. ShellRenderer exposes more options, and has better error reporting, so it’s definitely the preferred method of controlling Combustion renders

That being said, we can’t reproduce this problem here, so maybe there is an update for Combustion 4 that fixes the problem?

Cheers,

  • Ryan

Thanks for the info, Ryan.

I’m happy to say that it is just an Autodesk bug and look at writing a post-task py script, but I’m confused as to why you can’t reproduce the problem at your end?

I’m using the latest version of Combustion 4 (4.0.5.288) and 2008 (2008.0.0.330) and no other patches are available. (Are these the same versions you are running?) This problem occurs in both these versions.
I also cross-referenced all previous patches and none of them make any reference to the shellrenderer or command line renderer, etc which possibly could have caused the mis-match between your tests and mine.
To confirm, I throw something like: “Z:\RnD\000_Mike\MIRROR CAR[#].tga” as the output argument and I always get this back: “z:\rnd\000_mike\mirror car[#].tga”, lowercase in both the path and filename.
In all my tests, I have just used the values/variables that I listed in my first thread to get this bug to happen. Using just the shellrenderer.exe, the problem occurs, which ofcourse as you rightly said, completely eliminates Deadline out of the equation :slight_smile:…Have you tried using just shellrenderer.exe at your end?

I guess its going to have to be a post-task script to re-name the footage after the tasks complete, so it matches the correct file path/name! Do you have any examples of a post-task / post-job script to handle re-naming of footage to get me started?

Thanks,
Mike

The version of Combustion 4 I was using was 4.0.2.270, so I guess the bug was introduced after that, and persists in 2008. Here is the stdout from the test we performed:

We don’t have any example scripts for renaming footage after the render, but there is a sample script here to get the output path from the job:
franticfilms.com/software/su … cripts.php

That should hopefully be enough to get you started.

Cheers,

  • Ryan

OK, Thanks Ryan.
However, I noticed that in your log report, the “-file” flag wasn’t used…?
I just ran the following 2 tests via the command line and came up with some interesting results…! I think I might finally be onto something here…!

WITH “-file” declared:

"C:\Program Files\discreet\combustion 4\ShellRenderer.exe" -nobar -start 8 -end 9 -startnumber 8 -skip 1 -output "Composite/output1" -file "Z:\RnD\000_Mike\MIRROR CAR[#].tga" -quality best -depth 8 -framesize normal "Z:\RnD\000_Mike\Capital_letters.cws"

WITHOUT “-file” declared:

"C:\Program Files\discreet\combustion 4\ShellRenderer.exe" -nobar -start 8 -end 9 -startnumber 8 -skip 1 -output "Composite/output1" -quality best -depth 8 -framesize normal "Z:\RnD\000_Mike\Capital_letters.cws"

I found that not declaring the “-file”, gives you the correct output which should be: “Z:\RnD\000_Mike\capiTals\OUTput[#].tga”, but declaring the file output, by letting the Deadline submission script work it out from reading the *.cws file, it seems to get it wrong…and name the file output the same as the footage input (Mirror Car.tga)…

Mike

Ah, I see. In 3.1 SP1 (which was just released), we actually don’t pass the -file argument anymore, since this was causing issues on OSX. That explains why we couldn’t reproduce the problem.

Cheers,

  • Ryan

Excellent! I’ll be downloading SP1 this afternoon then…! :slight_smile:
Mike