Sandboxing in DL 8?

Hi there!

As the docs aren’t telling much about the new sandboxing function, I’ll ask here:

I’ve tried a test installation of DL 8 to check if all my existing workflows, events, submitters etc. work fine. But I wasn’t successful when I wanted to start my first Nuke rendering. The submission via integrated submitter worked fine, but the tasks always failed very early in the process, even before Nuke starts rendering. In the slave logs, I get the following error:

Syncronizing Plugin Nuke from C:\mnt\libs\deadlinelib\deadline_repository_V8\plugins\Nuke 2016-06-03 11:42:25: Syncronization complete. Took: 0 seconds 2016-06-03 11:42:27: Scheduler Thread - Render Thread 0 threw a major error: 2016-06-03 11:42:27: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2016-06-03 11:42:27: Exception Details 2016-06-03 11:42:27: RenderPluginException -- An error occurred while synchronizing the job's auxiliary files: Could not find a part of the path 'C:\mnt\libs\deadlinelib\deadline_repository_V8\jobs\575150e41fbda92568b3d398'. (System.IO.DirectoryNotFoundException) 2016-06-03 11:42:27: RenderPluginException.Cause: JobError (2) 2016-06-03 11:42:27: RenderPluginException.Level: Major (1) 2016-06-03 11:42:27: RenderPluginException.HasSlaveLog: True 2016-06-03 11:42:27: RenderPluginException.SlaveLogFileName: 2016-06-03 11:42:27: Exception.Data: ( ) 2016-06-03 11:42:27: Exception.TargetSite: Void d() 2016-06-03 11:42:27: Exception.Source: deadline 2016-06-03 11:42:27: Exception.HResult: -2146233088 2016-06-03 11:42:27: Exception.StackTrace: 2016-06-03 11:42:27: at Deadline.Slaves.SlaveRenderThread.d()
if I test the mentioned path ‘C:\mnt\libs…’ locally on one of my Win 7 render machines, it’s working just fine. To explain: ‘C:\mnt\libs’ is a Windows symbolic link pointing to a UNC like ‘\server\libs’, which was once mounted manually so the login data (which is NOT the same user that is logged in to the render machine and that DL sees as ‘machine user’!) was stored to the registry. This worked fine in DL7.

After looking through the docs and the repo settings, I found the ‘disable Plugin sandboxing’ and activated it. Now Nuke is rendering fine in principle (except for a small bug, which I’ll send a separate bug report for).

So my question now is: why is the sandboxed plugin not seeing (or maybe is not be able to access) the same symbolic-link based path that works when sandboxing is deactivated? Which user do you use to run the sandbox? Is this different from the user that Deadline itself runs on? If so, would be a good idea to mention and explain that in the docs!

Any ideas? Thanks!

Hello,

Can you advise how you made that directory junction? We are probably going to need to test this on our end to try to reproduce.

Hi there!

Our procedure is: map a SMB server share to a drive on Windows, let’s say X:. We store the login data, so it’s kept in the registry. I’ll create a folder named ‘C:\mnt’. Then I’ll create a symbolic link via ‘cmd’:

mklink /d /mnt/server \server\share

I’ll use the repo share this way as well as the share for the actual project data. Rendering Nuke with DL7 worked fine until now, DL8 only works if I disable sandboxing.

update to this problem:

to examine this problem further I just re-enabled the sandboxing. Strange thing: now all is working just fine. Without changing anything in the config, the problematic path seems to be usable now and all works as it should do. I have no idea what went wrong the first time I tried that, but it seems we can close this problem for the moment. Sorry for the inconvenience!

Hello,

That is really odd. Glad it’s working, just wish it was better understood what went wrong.