AWS Thinkbox Discussion Forums

deadlinecommand arguments replaced with paths

Hi guys, experiencing an odd behaviour. This is using Deadline on Linux through the command line

When I run the following command:
/opt/Thinkbox/Deadline8/bin/deadlinecommand SetJobPluginInfoKeyValue <job_id> Versionsome_value

I get the following result:
Set the key /opt/Thinkbox/Deadline8/bin/Version to value

As you can see, it seems to replace the Version argument with the file in the Deadline8 /bin folder. In fact, if the argument matches any same named file in that path, it’ll get replaced again.

Any suggested workaround to this, short of updating to a newer Deadline or using the Python API :wink: ?

FYI, this behavior doesn’t happen in Windows, just Linux

Well, I did some digging into the Deadline 8 code here to see what it’s doing.

It looks very straightforward, and I’m wondering if this could somehow be a shell expansion problem, which is pretty unlikely but would be interesting to see. Here’s the pseudocode for what we’re doing in that command immediately before the print statement:

                job = storage.GetJob(args[1].Trim(), true);

                key = args[2].Trim();
                value = args[3].Trim();

                if (job.PluginInfoDictionary.ContainsKey(key))
                {
                    job.PluginInfoDictionary[key] = value;
                }
                else
                {
                    job.PluginInfoDictionary.Add(key, value);
                }

And that’s really it. There’s save code, but it’s after the print statement. I wonder, how are you running Deadline Command? Can you put a placeholder command like echo there?

Update: So… we seem to special-case our version info file when parsing the arguments to send to the code above and you’re using its exact name. :stuck_out_tongue:

As a test, can you try a lower-case ‘v’ or a different word?

I’ll open a dev issue for this one…

Oh yes, lowercase ‘v’ will work. or renaming the Version file in the /bin folder will work. Basically if that parameter matches any filename in the /bin folder, it’ll get replaced. For example, it’ll happen if you call it xidle as well (since that filename exists in /opt/Thinkbox/Deadline8/bin/)

Hmm… I’ll open an issue for this one, but I’m concerned that it must be there for a reason.

And the award fro the most obscure bug award goes too… :smiley:

Heh. We did fix in Deadline 9. :slight_smile:

Privacy | Site terms | Cookie preferences