This comes up once in a while with our sim jobs, that can only have a single machine processing them at a time:
Looking at the logs reveals that the first machine (lapro1810) has already crashed at 13:15 when the next machine picked up the next frame at 13:18. But it seems like the lapro1810 slave also stalled out, somehow leaving the task still assigned to itself (but already having given back the limit token? otherwise how did lapro0841 pick up the next frame?).
This causes 2 problems:
- Confused artist, they think 2 machines are on their sim jobs, causing simming conflicts
- out of order frame assignment, since now the first actually assigned frame will be task 1 and not task 0…
The last lines of the slave log of 1810:
2016-09-20 13:15:00: Network log file does not exist: %TEMP%\VRayLog.txt)
2016-09-20 13:15:00: at Deadline.Plugins.PluginWrapper.RenderTasks(String taskId, Int32 startFrame, Int32 endFrame, String& outMessage, AbortLevel& abortLevel)
2016-09-20 13:15:00: RenderPluginException.Cause: JobError (2)
2016-09-20 13:15:00: RenderPluginException.Level: Major (1)
2016-09-20 13:15:00: RenderPluginException.HasSlaveLog: True
2016-09-20 13:15:00: RenderPluginException.SlaveLogFileName: C:\ProgramData\Thinkbox\Deadline8\logs\deadlineslave_renderthread_0-LAPRO1810-0000.log
2016-09-20 13:15:00: Exception.Data: ( )
2016-09-20 13:15:00: Exception.TargetSite: Void RenderTask(System.String, Int32, Int32)
2016-09-20 13:15:00: Exception.Source: deadline
2016-09-20 13:15:00: Exception.HResult: -2146233088
2016-09-20 13:15:00: Exception.StackTrace:
2016-09-20 13:15:00: at Deadline.Plugins.Plugin.RenderTask(String taskId, Int32 startFrame, Int32 endFrame)
2016-09-20 13:15:00: at Deadline.Slaves.SlaveRenderThread.a(TaskLogWriter A_0)
2016-09-20 13:15:00: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2016-09-20 13:15:00: Scheduler Thread - Seconds before next job scan: 2
2016-09-20 13:15:02: Scheduler - Performing Job scan on Primary Pools with scheduling order Pool, Weighted, Balanced
2016-09-20 13:15:02: Scheduler - Using enhanced scheduler balancing
2016-09-20 13:15:02: Scheduler - Preliminary check: The 57e1946bcb2bf34f80b99c64 limit is maxed out.
2016-09-20 13:15:02: Scheduler - Preliminary check: The 57e19493cb2bf34738d44b2a limit is maxed out.
2016-09-20 13:15:02: Scheduler - Preliminary check: The 57e1948ccb2bf35594f91222 limit is maxed out.
2016-09-20 13:15:02: Scheduler - Preliminary check: The 57dc9027cb2bf31dbc853abc limit is maxed out.
2016-09-20 13:15:02: Scheduler - Preliminary check: The 57dc9079cb2bf31750311738 limit is maxed out.
2016-09-20 13:15:02: Scheduler - Preliminary check: The 57bb3e6815314a2f70dafc6b limit is maxed out.
2016-09-20 13:15:03: Scheduler - Preliminary check: The 57e198890294999a70b28bda limit is maxed out.
2016-09-20 13:15:03: Scheduler - Successfully dequeued 1 task(s). Returning.
2016-09-20 13:15:03: 0: Shutdown
2016-09-20 13:15:03: 0: Exited ThreadMain(), cleaning up...
2016-09-20 13:15:04: Scheduler - Returning limit stubs not in use.
2016-09-20 13:15:04: Scheduler - returning mx_render
2016-09-20 13:15:04: Scheduler - returning 57e180800294998da423e5d9
2016-09-20 13:15:04: Scheduler - returning mx_flowlinerender
2016-09-20 13:15:04: Scheduler - returning vray3
2016-09-20 13:15:04: Scheduler Thread - Unexpected Error Occurred
2016-09-20 13:15:04: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2016-09-20 13:15:04: Exception Details
2016-09-20 13:15:04: InvalidProgramException -- Sandbox Process is not available, may be disposed already.
2016-09-20 13:15:04: Exception.Data: ( )
2016-09-20 13:15:04: Exception.TargetSite: Void OnSlaveStartingJob(System.String, Deadline.Jobs.Job, Deadline.Controllers.DataController)
2016-09-20 13:15:04: Exception.Source: deadline
2016-09-20 13:15:04: Exception.HResult: -2146233030
2016-09-20 13:15:04: Exception.StackTrace:
2016-09-20 13:15:04: at Deadline.Events.SandboxedEventManager.OnSlaveStartingJob(String slaveName, Job job, DataController dataController)
2016-09-20 13:15:04: at Deadline.Slaves.SlaveSchedulerThread.a(SlaveStatus slaveStatus)
2016-09-20 13:15:04: at Deadline.Slaves.SlaveSchedulerThread.f()
2016-09-20 13:15:04: at Deadline.Slaves.SlaveSchedulerThread.h()
2016-09-20 13:15:04: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2016-09-20 13:15:04: Scheduler Thread - Unexpected Error Occurred While Handling Exception (task requeue)
2016-09-20 13:15:04: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2016-09-20 13:15:04: Exception Details
2016-09-20 13:15:04: InvalidProgramException -- Sandbox Process is not available, may be disposed already.
2016-09-20 13:15:04: Exception.Data: ( )
2016-09-20 13:15:04: Exception.TargetSite: Void OnJobError(Deadline.Jobs.Job, System.String[], Deadline.Jobs.Task, Deadline.Reports.Report, Deadline.Controllers.DataController)
2016-09-20 13:15:04: Exception.Source: deadline
2016-09-20 13:15:04: Exception.HResult: -2146233030
2016-09-20 13:15:04: Exception.StackTrace:
2016-09-20 13:15:04: at Deadline.Events.SandboxedEventManager.OnJobError(Job job, String[] auxiliaryFilenames, Task task, Report errorReport, DataController dataController)
2016-09-20 13:15:04: at Deadline.Controllers.DataController.ReportError(Exception e, Slave slave, IPlugin plugin, Job job, Task task, TimeSpan taskTimeElapsed)
2016-09-20 13:15:04: at Deadline.Slaves.SlaveSchedulerThread.a(Exception A_0)
2016-09-20 13:15:04: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2016-09-20 13:15:04: Scheduler Thread - exception occurred:
2016-09-20 13:15:04: Scheduler Thread - Unexpected Error Occurred
2016-09-20 13:15:04: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2016-09-20 13:15:04: Exception Details
2016-09-20 13:15:04: InvalidProgramException -- Sandbox Process is not available, may be disposed already.
2016-09-20 13:15:04: Exception.Data: ( )
2016-09-20 13:15:04: Exception.TargetSite: Void OnJobError(Deadline.Jobs.Job, System.String[], Deadline.Jobs.Task, Deadline.Reports.Report, Deadline.Controllers.DataController)
2016-09-20 13:15:04: Exception.Source: deadline
2016-09-20 13:15:04: Exception.HResult: -2146233030
2016-09-20 13:15:04: Exception.StackTrace:
2016-09-20 13:15:04: at Deadline.Events.SandboxedEventManager.OnJobError(Job job, String[] auxiliaryFilenames, Task task, Report errorReport, DataController dataController)
2016-09-20 13:15:04: at Deadline.Controllers.DataController.ReportError(Exception e, Slave slave, IPlugin plugin, Job job, Task task, TimeSpan taskTimeElapsed)
2016-09-20 13:15:04: at Deadline.Slaves.SlaveSchedulerThread.a(Exception A_0)
2016-09-20 13:15:04: at Deadline.Slaves.SlaveSchedulerThread.h()
2016-09-20 13:15:04: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2016-09-20 13:15:04: Scheduler Thread - Unexpected Error Occurred While Handling Exception (task requeue)
2016-09-20 13:15:04: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2016-09-20 13:15:04: Exception Details
2016-09-20 13:15:04: InvalidProgramException -- Sandbox Process is not available, may be disposed already.
2016-09-20 13:15:04: Exception.Data: ( )
2016-09-20 13:15:04: Exception.TargetSite: Void OnJobError(Deadline.Jobs.Job, System.String[], Deadline.Jobs.Task, Deadline.Reports.Report, Deadline.Controllers.DataController)
2016-09-20 13:15:04: Exception.Source: deadline
2016-09-20 13:15:04: Exception.HResult: -2146233030
2016-09-20 13:15:04: Exception.StackTrace:
2016-09-20 13:15:04: at Deadline.Events.SandboxedEventManager.OnJobError(Job job, String[] auxiliaryFilenames, Task task, Report errorReport, DataController dataController)
2016-09-20 13:15:04: at Deadline.Controllers.DataController.ReportError(Exception e, Slave slave, IPlugin plugin, Job job, Task task, TimeSpan taskTimeElapsed)
2016-09-20 13:15:04: at Deadline.Slaves.SlaveSchedulerThread.a(Exception A_0)
2016-09-20 13:15:04: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2016-09-20 13:15:04: An unhandled exception occurred: Sandbox Process is not available, may be disposed already. (System.InvalidProgramException)
2016-09-20 13:15:04: at Deadline.Events.SandboxedEventManager.OnJobError(Job job, String[] auxiliaryFilenames, Task task, Report errorReport, DataController dataController)
2016-09-20 13:15:04: at Deadline.Controllers.DataController.ReportError(Exception e, Slave slave, IPlugin plugin, Job job, Task task, TimeSpan taskTimeElapsed)
2016-09-20 13:15:04: at Deadline.Slaves.SlaveSchedulerThread.a(Exception A_0)
2016-09-20 13:15:04: at Deadline.Slaves.SlaveSchedulerThread.h()
2016-09-20 13:15:04: at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
2016-09-20 13:15:04: at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
2016-09-20 13:15:04: at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
2016-09-20 13:15:04: at System.Threading.ThreadHelper.ThreadStart()
After that the slave went down. Our slave restart mechanism restarted it 3 mins later:
2016-09-20 13:18:48: BEGIN - LAPRO1810\scanlinevfx
2016-09-20 13:18:48: Deadline Slave 8.0 [v8.0.5.1 Release (846388743)]
2016-09-20 13:18:51: Auto Configuration: A ruleset has been received from Pulse
2016-09-20 13:18:52: Plugin sandboxing will not be used because it is disabled in the Repository Options.
2016-09-20 13:18:52: Info Thread - Created.
2016-09-20 13:18:52: Slave 'LAPRO1810' has stalled because of an unexpected exit. Performing house cleaning...
2016-09-20 13:18:52: Could not find associated job for this slave.
2016-09-20 13:18:53: Cannot send notification because the email address list is empty.
lapro0841 picks up the next frame a few seconds later.
2016-09-20 13:18:57: BEGIN - LAPRO0841\scanlinevfx
2016-09-20 13:18:57: 0: Plugin will be reloaded: Auxiliary files for the current job have been modified.
2016-09-20 13:18:57: 0: Loaded plugin 3dsmax (\\inferno2\deadline\repository8\plugins\3dsmax)
2016-09-20 13:18:57: 0: INFO: Executing plugin script 'C:\Users\scanlinevfx\AppData\Local\Thinkbox\Deadline8\slave\lapro0841\plugins\57e1988d029499946841df5f\3dsmax.py'
2016-09-20 13:18:57: 0: INFO: About: 3dsmax Plugin for Deadline
2016-09-20 13:18:57: 0: INFO: The job's environment will be merged with the current environment before rendering
2016-09-20 13:18:57: 0: Start Job timeout is disabled.
2016-09-20 13:18:57: 0: Task timeout is 24000 seconds (Regular Task Timeout)
2016-09-20 13:18:57: 0: Loaded job: [MEG] MM_015_0000_v0132_str_UpdatedSim_cache_flowline_HappyOcean_4 (57e1988d029499946841df5f)
2016-09-20 13:18:57: 0: INFO: Executing job preload script 'C:\Users\scanlinevfx\AppData\Local\Thinkbox\Deadline8\slave\lapro0841\plugins\57e1988d029499946841df5f\JobPreLoad.py'
2016-09-20 13:18:57: 0: INFO: JobPreLoad.__main__ version: 1.59
But why isnt lapro0841 picking up task 0? Is the housecleaning somehow giving back the job token first, and only then the task token?