Hi,
we are struggling with following problem…
Whenever we start new job it generates this error
=======================================================
Error
=======================================================
An error occurred trying to start process '/var/lib/Thinkbox/Deadline10/workers/fx003/plugins/65ae3c71a8399b5ddaa8cefb/pipeline_launch.sh' with working directory '/upp/upptools/workgroups/houdini/sw/linux/hfs20.0.506/bin'. Permission denied (System.ComponentModel.Win32Exception)
at System.Diagnostics.Process.ForkAndExecProcess(ProcessStartInfo startInfo, String resolvedFilename, String[] argv, String[] envp, String cwd, Boolean setCredentials, UInt32 userId, UInt32 groupId, UInt32[] groups, Int32& stdinFd, Int32& stdoutFd, Int32& stderrFd, Boolean usesTerminal, Boolean throwOnNoExec)
at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at FranticX.Processes.ChildProcess.i(String cc, String cd, String ce)
at FranticX.Processes.ChildProcess.Launch(String executable, String arguments, String startupDirectory)
at FranticX.Processes.ManagedProcess.Execute(Boolean waitForExit)
at Deadline.Plugins.DeadlinePlugin.DoRenderTasks()
at Deadline.Plugins.PluginWrapper.RenderTasks(Task task, String& outMessage, AbortLevel& abortLevel)
at Deadline.Plugins.PluginWrapper.RenderTasks(Task task, String& outMessage, AbortLevel& abortLevel)
=======================================================
Type
=======================================================
RenderPluginException
=======================================================
Stack Trace
=======================================================
at Deadline.Plugins.SandboxedPlugin.d(DeadlineMessage bgt, CancellationToken bgu)
at Deadline.Plugins.SandboxedPlugin.RenderTask(Task task, CancellationToken cancellationToken)
at Deadline.Slaves.SlaveRenderThread.c(TaskLogWriter ajy, CancellationToken ajz)
=======================================================
Log
we’re utilizing AlterCommandLine technique which runs pipeline_launch.sh shell which sets the environments needed for render and then runs actual plugin’s render script. We have track down that this error is caused by missing executable flag on pipeline_launch.sh which is set somehow later (we are not sure what actually doing this). This all results that several slaves will report this error until permission is set and render continues ok. So question is how to delay start of the pipeline_launch.sh after is synced to slave’s local disk and permissions are set? We’ve workarounding this by setting executable flag ourselves.
Debug from JobPreload.py
2024-01-23 13:51:49: 0: PYTHON: Executable Exists: pipeline_launch.sh True
2024-01-23 13:51:49: 0: PYTHON: File Flags: 33188
2024-01-23 13:51:49: 0: PYTHON: Is Readable: True
2024-01-23 13:51:49: 0: PYTHON: Is Writable: True
2024-01-23 13:51:49: 0: PYTHON: Is Executbale: False
and then when job is being rendered
2024-01-23 13:51:56: 0: PYTHON: -------------------------------
2024-01-23 13:51:56: 0: PYTHON: Executable Exists: pipeline_launch.sh True
2024-01-23 13:51:56: 0: PYTHON: File Flags: 33216
2024-01-23 13:51:56: 0: PYTHON: Is Readable: True
2024-01-23 13:51:56: 0: PYTHON: Is Writable: True
2024-01-23 13:51:56: 0: PYTHON: Is Executbale: True
Thanks