Nuke 9 submission cannot deal with mapped drives

Has anyone ran into this? I submitted a Nuke 9 job from the Monitor that used a mapped network drive in the GUI’s Nuke File field, and I got this error message:

Error

Error: Error: Could not find a part of the path ‘Z:\ZZZ\Asset\Scenes\Tests\Nuke\9.0\chris_9_0_test.nk’. (System.IO.DirectoryNotFoundException)
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
at Deadline.IO.PathMappingUtils.CheckPathMappingInFileAndReplace(String inFileName, String outFileName, String[] stringsToReplace, String[] newStrings, DataController dataController, GenericDelegate1`1 logFunction, String regionID)
at Deadline.Scripting.RepositoryUtils.CheckPathMappingInFileAndReplace(String inFileName, String outFileName, String[] stringsToReplace, String[] newStrings)
at Python.Runtime.Dispatcher.TrueDispatch(ArrayList args)
at Python.Runtime.Dispatcher.Dispatch(ArrayList args)
at FranticX.Processes.ManagedProcess.PreRenderTasks()
at FranticX.Processes.ManagedProcess.Execute(Boolean waitForExit)
at Deadline.Plugins.PluginWrapper.StartJob(String& outMessage, AbortLevel& abortLevel)

=======================================================
Type

RenderPluginException

=======================================================
Stack Trace

at Deadline.Plugins.SandboxedPlugin.a(DeadlineMessage A_0)
at Deadline.Plugins.SandboxedPlugin.StartJob(Job job)
at Deadline.Slaves.SlaveRenderThread.a(TaskLogWriter A_0)

I ended up changing the path in the GUI to a UNC path and then going into the comp file and changing the paths in the Read and Write nodes to UNC paths. Then the render completed successfully. However, I submitted a Nuke 6 render that used mapped network drives, and I had no problem.

This issue pops up with the Nuke 9 submission script as well:

=======================================================
Error

Error: Error: Could not find a part of the path ‘Z:\ZZZ\Asset\Scenes\Tests\Nuke\9.0\chris_test.nk’. (System.IO.DirectoryNotFoundException)
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
at Deadline.IO.PathMappingUtils.CheckPathMappingInFileAndReplace(String inFileName, String outFileName, String[] stringsToReplace, String[] newStrings, DataController dataController, GenericDelegate1`1 logFunction, String regionID)
at Deadline.Scripting.RepositoryUtils.CheckPathMappingInFileAndReplace(String inFileName, String outFileName, String[] stringsToReplace, String[] newStrings)
at Python.Runtime.Dispatcher.TrueDispatch(ArrayList args)
at Python.Runtime.Dispatcher.Dispatch(ArrayList args)
at FranticX.Processes.ManagedProcess.PreRenderTasks()
at FranticX.Processes.ManagedProcess.Execute(Boolean waitForExit)
at Deadline.Plugins.PluginWrapper.StartJob(String& outMessage, AbortLevel& abortLevel)

=======================================================
Type

RenderPluginException

=======================================================
Stack Trace

at Deadline.Plugins.SandboxedPlugin.a(DeadlineMessage A_0)
at Deadline.Plugins.SandboxedPlugin.StartJob(Job job)
at Deadline.Slaves.SlaveRenderThread.a(TaskLogWriter A_0)

Btw, I am using Deadline 8.0.11.2 on Windows 7.

Okay. I figured this out. The trick is to set the mapped drives in the repository options.

Yup! For future generations, that error comes up in plugins when the scene file path mapping (Nuke, AfterEffects, Maya without dirmap) fails to read the scene file from the original location. The tip off is this function in the stack trace:

at Deadline.Scripting.RepositoryUtils.CheckPathMappingInFileAndReplace(String inFileName, String outFileName, String[] stringsToReplace, String[] newStrings)

You can figure out why it failed (file not found, access denied, etc) from the error line:

Error: Error: Could not find a part of the path '...'. (System.IO.DirectoryNotFoundException)