Are you able to narrow down the problem to a small script that reproduces it?

The code pointed to in that call stack doesn't really have many ways of failing 
in that way (null reference). The most likely thing is that 
DefaultContext.DefaultPythonContext is not being set. But I think that is done 
for you when the scripting runtime is initialized.

How are you creating the script runtime?

Running from a background thread shouldn't have any bearing on it, unless this 
were a race issue. And since the crash is happening in a static ctor, that 
pretty much rules out thread races.


Keith Rome
Senior Consultant and Architect
MCPD-EAD, MCSD, MCDBA, MCTS-WPF, MCTS-TFS, MCTS-WSS
Wintellect | 770.617.4016 | [email protected]<mailto:[email protected]>
www.wintellect.com<http://www.wintellect.com/>

From: Ironpython-users 
[mailto:[email protected]] On Behalf Of 
Zsidó Zoltán
Sent: Wednesday, January 9, 2013 8:55 AM
To: [email protected]
Subject: [Ironpython-users] crash on Win8 64bit at IronPython expression 
evaluation

Hi,

We are using IronPython and Windows 8 long time, but now we have an exception 
that only occurs on windows 8 64 bit. (We did not test on Windows 8 32 bit but 
tested on Windows 7 32/64 bit where it is ok.)
The application crashes at the first ironpython expression evaluating.
I think it is important to note that we are using IronPython from a background 
thread. We cannot debug it on windows 8. If this exception is similar to you 
please help us.

Thanks,
Zoltan

the stack trace:
System.TypeInitializationException: The type initializer for 
'IronPython.Runtime.Converter' threw an exception. ---> 
System.NullReferenceException: Object reference not set to an instance of an 
object.
   at IronPython.Runtime.Converter.MakeConvertSite[T](ConversionResultKind kind)
   at IronPython.Runtime.Converter.MakeExplicitConvertSite[T]()
   at IronPython.Runtime.Converter..cctor()
   --- End of inner exception stack trace ---
   at IronPython.Runtime.Converter.HasImplicitNumericConversion(Type fromType, 
Type toType)
   at IronPython.Runtime.Converter.CanConvertFrom(Type fromType, Type toType, 
NarrowingLevel allowNarrowing)
   at IronPython.Runtime.Binding.PythonBinder.CanConvertFrom(Type fromType, 
Type toType, Boolean toNotNullable, NarrowingLevel level)
   at Microsoft.Scripting.Actions.Calls.OverloadResolver.CanConvertFrom(Type 
fromType, DynamicMetaObject fromArgument, ParameterWrapper toParameter, 
NarrowingLevel level)
   at IronPython.Runtime.Binding.PythonOverloadResolver.CanConvertFrom(Type 
fromType, DynamicMetaObject fromArg, ParameterWrapper toParameter, 
NarrowingLevel level)
   at 
Microsoft.Scripting.Actions.Calls.OverloadResolver.TryConvertArguments(MethodCandidate
 candidate, ArgumentBinding namesBinding, NarrowingLevel narrowingLevel, 
CallFailure& failure)
   at 
Microsoft.Scripting.Actions.Calls.OverloadResolver.SelectCandidatesWithConvertibleArgs(List`1
 candidates, NarrowingLevel level, List`1& failures)
   at 
Microsoft.Scripting.Actions.Calls.OverloadResolver.MakeBindingTarget(CandidateSet
 targetSet)
   at Microsoft.Scripting.Actions.Calls.OverloadResolver.ResolveOverload(String 
methodName, IList`1 methods, NarrowingLevel minLevel, NarrowingLevel maxLevel)
   at Microsoft.Scripting.Actions.Calls.OverloadResolver.ResolveOverload(String 
methodName, IList`1 methods, NarrowingLevel minLevel, NarrowingLevel maxLevel)
   at 
Microsoft.Scripting.Actions.DefaultBinder.CallMethod(DefaultOverloadResolver 
resolver, IList`1 targets, BindingRestrictions restrictions, String name, 
NarrowingLevel minLevel, NarrowingLevel maxLevel, BindingTarget& target)
   at 
IronPython.Runtime.Binding.MetaBuiltinFunction.<>c__DisplayClass4.<MakeSelfCall>b__3(DynamicMetaObject[]
 newArgs)
  at 
IronPython.Runtime.Types.BuiltinFunction.MakeBuiltinFunctionCall(DynamicMetaObjectBinder
 call, Expression codeContext, DynamicMetaObject function, DynamicMetaObject[] 
args, Boolean hasSelf, BindingRestrictions functionRestriction, Func`2 bind)
   at 
IronPython.Runtime.Binding.MetaBuiltinFunction.MakeSelfCall(DynamicMetaObjectBinder
 call, Expression codeContext, DynamicMetaObject[] args)
   at 
IronPython.Runtime.Binding.MetaBuiltinFunction.InvokeWorker(DynamicMetaObjectBinder
 call, Expression codeContext, DynamicMetaObject[] args)
   at IronPython.Runtime.Binding.MetaBuiltinFunction.Invoke(PythonInvokeBinder 
pythonInvoke, Expression codeContext, DynamicMetaObject target, 
DynamicMetaObject[] args)
   at 
IronPython.Runtime.Binding.PythonInvokeBinder.BindWorker(DynamicMetaObject 
context, DynamicMetaObject target, DynamicMetaObject[] args)
   at IronPython.Runtime.Binding.PythonInvokeBinder.Bind(DynamicMetaObject 
target, DynamicMetaObject[] args)
   at 
Microsoft.Scripting.Utils.DynamicUtils.GenericInterpretedBinder`1.Bind(DynamicMetaObjectBinder
 binder, Int32 compilationThreshold, Object[] args)
   at 
Microsoft.Scripting.Utils.DynamicUtils.LightBind[T](DynamicMetaObjectBinder 
binder, Object[] args, Int32 compilationThreshold)
   at 
IronPython.Runtime.Types.BuiltinFunction.IronPython.Runtime.Binding.IFastInvokable.MakeInvokeBinding[T](CallSite`1
 site, PythonInvokeBinder binder, CodeContext state, Object[] args)
   at IronPython.Runtime.Binding.PythonInvokeBinder.BindDelegate[T](CallSite`1 
site, Object[] args)
   at System.Runtime.CompilerServices.CallSiteBinder.BindCore[T](CallSite`1 
site, Object[] args)
   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.Run2[T0,T1,TRet](T0 arg0, T1 
arg1)
   at IronPython.Compiler.PythonCallTargets.OriginalCallTarget1(PythonFunction 
function, Object arg0)
   at IronPython.Runtime.FunctionCaller`1.Call1(CallSite site, CodeContext 
context, Object func, 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.Run2[T0,T1,TRet](T0 arg0, T1 
arg1)
   at IronPython.Compiler.PythonScriptCode.RunWorker(CodeContext ctx)
   at IronPython.Compiler.PythonScriptCode.EvalWrapper(CodeContext ctx)
   at IronPython.Compiler.PythonScriptCode.Run(Scope scope)
   at IronPython.Compiler.RuntimeScriptCode.InvokeTarget(Scope scope)
   at IronPython.Compiler.RuntimeScriptCode.Run(Scope scope)
   at Microsoft.Scripting.SourceUnit.Execute(Scope scope, ErrorSink errorSink)
   at Microsoft.Scripting.Hosting.ScriptSource.Execute(ScriptScope scope)
   at CGS.CGS.ExecuteAssign(AssignAbs assign)
   at CGS.CGS.ModelPool_PropertyRead(Object sender, PropertyEventArgs e) m:   
at IronPython.Runtime.Converter.HasImplicitNumericConversion(Type fromType, 
Type toType)
   at IronPython.Runtime.Converter.CanConvertFrom(Type fromType, Type toType, 
NarrowingLevel allowNarrowing)
   at IronPython.Runtime.Binding.PythonBinder.CanConvertFrom(Type fromType, 
Type toType, Boolean toNotNullable, NarrowingLevel level)
   at Microsoft.Scripting.Actions.Calls.OverloadResolver.CanConvertFrom(Type 
fromType, DynamicMetaObject fromArgument, ParameterWrapper toParameter, 
NarrowingLevel level)
   at IronPython.Runtime.Binding.PythonOverloadResolver.CanConvertFrom(Type 
fromType, DynamicMetaObject fromArg, ParameterWrapper toParameter, 
NarrowingLevel level)
   at 
Microsoft.Scripting.Actions.Calls.OverloadResolver.TryConvertArguments(MethodCandidate
 candidate, ArgumentBinding namesBinding, NarrowingLevel narrowingLevel, 
CallFailure& failure)
   at 
Microsoft.Scripting.Actions.Calls.OverloadResolver.SelectCandidatesWithConvertibleArgs(List`1
 candidates, NarrowingLevel level, List`1& failures)
   at 
Microsoft.Scripting.Actions.Calls.OverloadResolver.MakeBindingTarget(CandidateSet
 targetSet)
   at Microsoft.Scripting.Actions.Calls.OverloadResolver.ResolveOverload(String 
methodName, IList`1 methods, NarrowingLevel minLevel, NarrowingLevel maxLevel)
   at Microsoft.Scripting.Actions.Calls.OverloadResolver.ResolveOverload(String 
methodName, IList`1 methods, NarrowingLevel minLevel, NarrowingLevel maxLevel)
   at 
Microsoft.Scripting.Actions.DefaultBinder.CallMethod(DefaultOverloadResolver 
resolver, IList`1 targets, BindingRestrictions restrictions, String name, 
NarrowingLevel minLevel, NarrowingLevel maxLevel, BindingTarget& target)
   at 
IronPython.Runtime.Binding.MetaBuiltinFunction.<>c__DisplayClass4.<MakeSelfCall>b__3(DynamicMetaObject[]
 newArgs)
   at 
IronPython.Runtime.Types.BuiltinFunction.MakeBuiltinFunctionCall(DynamicMetaObjectBinder
 call, Expression codeContext, DynamicMetaObject function, DynamicMetaObject[] 
args, Boolean hasSelf, BindingRestrictions functionRestriction, Func`2 bind)
   at 
IronPython.Runtime.Binding.MetaBuiltinFunction.MakeSelfCall(DynamicMetaObjectBinder
 call, Expression codeContext, DynamicMetaObject[] args)
   at 
IronPython.Runtime.Binding.MetaBuiltinFunction.InvokeWorker(DynamicMetaObjectBinder
 call, Expression codeContext, DynamicMetaObject[] args)
   at IronPython.Runtime.Binding.MetaBuiltinFunction.Invoke(PythonInvokeBinder 
pythonInvoke, Expression codeContext, DynamicMetaObject target, 
DynamicMetaObject[] args)
   at 
IronPython.Runtime.Binding.PythonInvokeBinder.BindWorker(DynamicMetaObject 
context, DynamicMetaObject target, DynamicMetaObject[] args)
   at IronPython.Runtime.Binding.PythonInvokeBinder.Bind(DynamicMetaObject 
target, DynamicMetaObject[] args)
   at 
Microsoft.Scripting.Utils.DynamicUtils.GenericInterpretedBinder`1.Bind(DynamicMetaObjectBinder
 binder, Int32 compilationThreshold, Object[] args)
   at 
Microsoft.Scripting.Utils.DynamicUtils.LightBind[T](DynamicMetaObjectBinder 
binder, Object[] args, Int32 compilationThreshold)
   at 
IronPython.Runtime.Types.BuiltinFunction.IronPython.Runtime.Binding.IFastInvokable.MakeInvokeBinding[T](CallSite`1
 site, PythonInvokeBinder binder, CodeContext state, Object[] args)
   at IronPython.Runtime.Binding.PythonInvokeBinder.BindDelegate[T](CallSite`1 
site, Object[] args)
   at System.Runtime.CompilerServices.CallSiteBinder.BindCore[T](CallSite`1 
site, Object[] args)
   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.Run2[T0,T1,TRet](T0 arg0, T1 
arg1)
   at IronPython.Compiler.PythonCallTargets.OriginalCallTarget1(PythonFunction 
function, Object arg0)
   at IronPython.Runtime.FunctionCaller`1.Call1(CallSite site, CodeContext 
context, Object func, 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.Run2[T0,T1,TRet](T0 arg0, T1 
arg1)
   at IronPython.Compiler.PythonScriptCode.RunWorker(CodeContext ctx)
   at IronPython.Compiler.PythonScriptCode.EvalWrapper(CodeContext ctx)
   at IronPython.Compiler.PythonScriptCode.Run(Scope scope)
   at IronPython.Compiler.RuntimeScriptCode.InvokeTarget(Scope scope)
   at IronPython.Compiler.RuntimeScriptCode.Run(Scope scope)
   at Microsoft.Scripting.SourceUnit.Execute(Scope scope, ErrorSink errorSink)
   at Microsoft.Scripting.Hosting.ScriptSource.Execute(ScriptScope scope)

_______________________________________________
Ironpython-users mailing list
[email protected]
http://mail.python.org/mailman/listinfo/ironpython-users

Reply via email to