AWS Thinkbox Discussion Forums

Houdini Dependent Renders - cannot find .bgeo.sc file for IFD

Here’s an interesting quandary I have. Setting up Houdini in Deadline to work with our pipeline and we’re testing IFD generation and a dependent Mantra render using Monitor’s integrated Houdini submission script. The issue is twofold.

First, the IFDs have this snippet of code.

[code]# Retained geometry

Save geometry for /obj/box/edgecusp1 at time 0

ray_start geo # {
ray_detail /obj/box/edgecusp1 $_TMP_SHARED_STORAGE/deadlineTest1.1_000_0012.bgeo.sc
ray_end # }[/code]
That $_TMP_SHARED_STORAGE happens to be on the Slave’s hard drive.

mantra: Error loading disk file C:/Users/USERNAME/AppData/Local/Thinkbox/Deadline9/slave/COMPUTERNAME/jobsData/59cd6d970f178e5a40080fe1/ifds/storage/deadlineTest1.1_000_0012.bgeo.sc for /obj/box/edgecusp1

The Mantra renderer cannot find the .bgeo.sc because it’s a) on the slave and b) inside the jobsData/jobID directory which gets deleted the moment it switches gears to a different job (including the dependent job). I’m still new to Houdini and Deadline; is there a way to either move this $_TMP_SHARED_STORAGE to a network location that I could clean up manually upon finished render, or pack the geometry directly into the IFD?

Second, the mantra error above does NOT trigger an error inside of Deadline, reporting instead a successful render. Is that something that can be changed to catch, or is checking my output the only way to know that my renders are working?

I should also mention we’re still testing in Deadline 9; we’re looking at making the purchase here in a few days, so likely will be jumping straight into 10 if that update would fix the headache.

Thanks!

Our missing the error text in Mantra is a really easy fix. You can see the other handlers in “[repo]/plugins/Mantra/Mantra.py”:

        self.AddStdoutHandlerCallback("ALF_PROGRESS ([0-9]+)").HandleCallback += self.HandleStdoutProgress
        self.AddStdoutHandlerCallback("Error:(.*)").HandleCallback += self.HandleStdoutError
        self.AddStdoutHandlerCallback("mantra: Bad Alembic Archive.*").HandleCallback += self.HandleStdoutError

Just add this as well:

        self.AddStdoutHandlerCallback("mantra: Error loading disk file").HandleCallback += self.HandleStdoutError

As for moving the output, that requires some custom scripting work. Usually we recommend just writing that to a shared location, so if you can set $_TMP_SHARED_STORAGE to a network location before you submit it should work out pretty well I think.

Update!: My original regex had a space at the end. That could prove problematic.

Awesome, we’ll give that a shot. Thanks!

Privacy | Site terms | Cookie preferences