We’re experiencing a bug on our rendernodes on the latest version running as a service where Nuke no longer works. It’s not loading our init.py files anymore and as a result it’s failing on custom gizmos etc missing. If I take the command path from the plugin log and copy/paste it into command prompt it renders fine from a remote desktop. Ditto with slave running on the desktop not as a service.
Scratch that. It doesn’t work at all through deadline on the slaves, only on some workstations. But like I said, works great through command line with the deadline flags.
EDIT: Scratch that Scratch. So the problem is if we have two slaves enabled on the same rendernode. They dont’ both have to be running. They just have to be enabled. I disabled the secondary slave they render fine. So what sort of threading is going on for multiple slaves to avoid conflicts? Are they getting separate %homepath%s? Environment variable configuration?
EDIT: Arghhh. scratch that scratch of the scratch. It’s just random. I can’t find a rhyme or reason why some will render and some won’t through deadline.
Ok, it’s definitely an Environment Variable getting clobbered on startup. I added NUKE_PATH to the job’s environment variables and now it works. But that’s a bit of a bandaid. Are you seeing custom init.py files on slaves get ignored?
Did you start noticing this problem when you upgrade to 6.2 from 6.1, or was it working fine on 6.2 previously? We didn’t change anything related to the python environment between 6.1 and 6.2, so I’m wondering what could have triggered this problem.
No, the slaves don’t get special environments if there are multiple running on the same machine. You could use ProcessExplorer to check the environment of the slaves processes to see how they differ between the ones that work and the ones that don’t:
technet.microsoft.com/en-ca/sysi … 96653.aspx
Cheers,
Ryan
It was working 6.1 so this seems to be a 6.2 change.
Interesting… I can’t find any changes to the Nuke plugin specifically, or to the slave’s environment in general that would explain this.
I would definitely recommend using Process Explorer then to check the slave’s environment during rendering (you could check Nuke’s environment as well). If you can compare the environment of slave that works to one that doesn’t, I’m sure that would be helpful.