xpaulbettsx/SassAndCoffee — Issue #49: Intermittent NullReference exception
Author: dizzib
Created: 2012-03-09 17:07:09+00:00
State: open

My server application event logs are showing the following error which appears to occur intermittently and usually after a period of inactivity. Resubmitting the same request works without error.

Running v2.0 with file cache enabled and output cache disabled.

Exception information:
Exception type: IndexOutOfRangeException
Exception message: Index was outside the bounds of the array.
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at IronRuby.Runtime.RubyUtils.RecursionTracker.TrackObject(Object obj)
at IronRuby.Builtins.RubyArray.GetHashCode(UnaryOpStorage hashStorage, ConversionStorage`1 fixnumCast, IList self)
at Microsoft.Scripting.Interpreter.FuncCallInstruction`4.Run(InterpretedFrame frame)
at Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame)
at Microsoft.Scripting.Interpreter.LightLambda.Run2[T0,T1,TRet](T0 arg0, T1 arg1)
at IronRuby.Runtime.EqualityComparer.System.Collections.Generic.IEqualityComparer.GetHashCode(Object obj)
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at IronRuby.Runtime.RubyUtils.SetHashElement(RubyContext context, IDictionary`2 obj, Object key, Object value)
at IronRuby.Builtins.HashOps.CreateSubclass(ConversionStorage`1 toAry, RubyClass self, IList list)
at Microsoft.Scripting.Interpreter.FuncCallInstruction`4.Run(InterpretedFrame frame)
at Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame)
at Microsoft.Scripting.Interpreter.LightLambda.Run4[T0,T1,T2,T3,TRet](T0 arg0, T1 arg1, T2 arg2, T3 arg3)
at Microsoft.Scripting.Interpreter.DynamicInstruction`4.Run(InterpretedFrame frame)
at Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame)
at Microsoft.Scripting.Interpreter.LightLambda.Run3[T0,T1,T2,TRet](T0 arg0, T1 arg1, T2 arg2)
at IronRuby.Runtime.Calls.RubyObjectMethodDispatcherWithScope`1.Invoke[TScope](CallSite callSite, TScope scope, Object self, T0 arg0)
at System.Dynamic.UpdateDelegates.UpdateAndExecute3[T0,T1,T2,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2)
at Microsoft.Scripting.Interpreter.DynamicInstruction`4.Run(InterpretedFrame frame)
at Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame)
at Microsoft.Scripting.Interpreter.LightLambda.Run3[T0,T1,T2,TRet](T0 arg0, T1 arg1, T2 arg2)
at IronRuby.Runtime.Calls.RubyObjectMethodDispatcherWithScopeAndBlock`1.Invoke[TScope,TProc](CallSite callSite, TScope scope, Object self, TProc proc, T0 arg0)
at System.Dynamic.UpdateDelegates.UpdateAndExecute4[T0,T1,T2,T3,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2, T3 arg3)
at Microsoft.Scripting.Interpreter.DynamicInstruction`5.Run(InterpretedFrame frame)
at Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame)
at Microsoft.Scripting.Interpreter.LightLambda.Run2[T0,T1,TRet](T0 arg0, T1 arg1)
at IronRuby.Runtime.RubyScriptCode.Run(Scope scope, Boolean bindGlobals)
at SassAndCoffee.Ruby.Sass.SassCompiler.Initialize()
at SassAndCoffee.Ruby.Sass.SassCompiler.Compile(String path, Boolean compressed, IList`1 dependentFileList)
at SassAndCoffee.Ruby.Sass.SassCompilerContentTransform.Execute(ContentTransformState state)
at SassAndCoffee.Core.ContentPipeline.ProcessRequest(String physicalPath)
at SassAndCoffee.AspNet.PipelineHandler.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)