IndexOutOfRangeException on render

We seem to be getting this error on most of servers all of a sudden, not sure why??

Wondering if we need to update our version of .net?? (think we’re running 3.0)

Shane

[code]Report Date:
01/21/2009 18:45:50

Report Message:
Index was outside the bounds of the array.

Error Type:
IndexOutOfRangeException

Slave Log:
ption.TargetSite: Void Insert(TKey, TValue, Boolean)

Exception.Source: mscorlib

Exception.StackTrace:

at System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary2.set_Item(TKey key, TValue value)
at IronPython.Runtime.TopReflectedPackage.LoadAssembly(SystemState state, Assembly assem, Boolean isInteropAssembly)
at IronPython.Runtime.TopReflectedPackage.InitializeBuiltins(SystemState state)
at IronPython.Runtime.Importer.ImportBuiltin(PythonModule mod, String name)
at IronPython.Runtime.Importer.ImportTopAbsolute(PythonModule mod, String name)
at IronPython.Runtime.Importer.ImportModule(ICallerContext context, String modName, Boolean bottom)
at IronPython.Hosting.EngineModule.Import(String moduleName)
at FranticX.Scripting.ScriptEngine…ctor()
at Deadline.Scripting.DeadlineScriptEngine…ctor(DeadlineController deadlineController)
at Deadline.Plugins.ScriptPlugin.GetNewScriptEngine()
at Deadline.Plugins.ScriptPlugin…ctor(String pluginName, DeadlineController deadlineController)
at Deadline.Plugins.Plugin…ctor(String name, String networkSourcePath, String slaveDestinationPath, Int32 threadId, DeadlineController deadlineController)
at Deadline.Controllers.DeadlineController.RequestPlugin(String pluginName, String slaveLocalPath, Int32 threadID)
at Deadline.Slaves.SlaveRenderThread.RequestPlugin(String pluginName, Boolean reloadPlugin)
at Deadline.Slaves.SlaveRenderThread.LoadPlugin()
at Deadline.Slaves.SlaveRenderThread.ThreadMain()

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Scheduler Thread - Plugin loaded in 0.19 seconds.
Constructor: 3dsmax
Scheduler Thread - Render Thread 0 threw an error:
Scheduler Thread - Index was outside the bounds of the array.
Scheduler Thread - Unexpected Error Occured: Index was outside the bounds of the array. (System.IndexOutOfRangeException)

Error Stack Trace:
at System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary2.set_Item(TKey key, TValue value)
at IronPython.Runtime.TopReflectedPackage.LoadAssembly(SystemState state, Assembly assem, Boolean isInteropAssembly)
at IronPython.Runtime.TopReflectedPackage.InitializeBuiltins(SystemState state)
at IronPython.Runtime.Importer.ImportBuiltin(PythonModule mod, String name)
at IronPython.Runtime.Importer.ImportTopAbsolute(PythonModule mod, String name)
at IronPython.Runtime.Importer.ImportModule(ICallerContext context, String modName, Boolean bottom)
at IronPython.Hosting.EngineModule.Import(String moduleName)
at FranticX.Scripting.ScriptEngine…ctor()
at Deadline.Scripting.DeadlineScriptEngine…ctor(DeadlineController deadlineController)
at Deadline.Plugins.ScriptPlugin.GetNewScriptEngine()
at Deadline.Plugins.ScriptPlugin…ctor(String pluginName, DeadlineController deadlineController)
at Deadline.Plugins.Plugin…ctor(String name, String networkSourcePath, String slaveDestinationPath, Int32 threadId, DeadlineController deadlineController)
at Deadline.Controllers.DeadlineController.RequestPlugin(String pluginName, String slaveLocalPath, Int32 threadID)
at Deadline.Slaves.SlaveRenderThread.RequestPlugin(String pluginName, Boolean reloadPlugin)
at Deadline.Slaves.SlaveRenderThread.LoadPlugin()
at Deadline.Slaves.SlaveRenderThread.ThreadMain()

Job Info:
Name: CS_A_0800 - BG_Volcano_L
Submit Machine Name: Elivs
User: jaym
Submit Date: 01/21/2009 18:44:38

Task Info:
Chunk Index: 0
Frame String: 120-120
Render Time Elapsed: 00:00:02

Plugin Info:
Name: (no plugin)

Slave Info:
Machine Name: El-rinde904
Version: v3.0.33353 R
[/code]

Hmm, this seems to be some internal .NET error, but it’s difficult to say if it’s a result of something we’re doing. Does this error only happen when a slave goes to start rendering a job? Does it happen for a particular job (ie: 3dsmax, Maya, etc)? Does restarting the Slave or the machine help? Deadline 3.0 runs on top of .NET 2.0, so if you have that version installed, you should be fine.

Cheers,

  • Ryan

As I understand it, it occurs at the start of a 3dsmax job.

Once the machine begins to display the error, it continues doing so until it is restarted, then fingers crossed till it happens again.

Currently running .Net 1.1, .Net 2.0 SP 1 and .Net 3.0

Shane

By any chance are you rendering with concurrent tasks > 1 (under the Advanced tab in the job properties)? From reading up on this error, it’s possible that this is a threading issue, but if a slave is only rendering one task at a time, I have hard time seeing how that could be. In any case, we’re going to add some safety measures to hopefully prevent this in a future release.

Cheers,

  • Ryan

Not that I’m aware of, but we’re using a mixture of submission methods, from RPM through to custom scripts, so anything is possible. I will need to double check…

Shane

Yes, some of the errors I was getting were definitely from tasks initially with concurrent tasks set to 2 or 4. Not sure if this error occurred for jobs with concurrent tasks set to 1.

(I work at the same place as Shane)