issue added: http://ironpython.codeplex.com/WorkItem/View.aspx?WorkItemId=21574
Please back port it if it is not much trouble. On Mar 10, 6:21 pm, Dino Viehland <di...@microsoft.com> wrote: > This is fixed in 2.6 and we can backport the fix to 2.0. Could you open a > bug on CodePlex? If you want to add the fix locally you just need to add the > lock statement below to NewTypeMaker.StoreOverriddenMethods: > > lock(PythonTypeOps._functions) { > foreach (BuiltinFunction bf in PythonTypeOps._functions.Values) { > if (bf.Name == pythonName && bf.DeclaringType == declType) { > bf.AddMethod(mi); > break; > } > } > } > > > > > -----Original Message----- > > From: users-boun...@lists.ironpython.com [mailto:users- > > boun...@lists.ironpython.com] On Behalf Of Kamil Dworakowski > > Sent: Tuesday, March 10, 2009 11:08 AM > > To: us...@lists.ironpython.com > > Subject: [IronPython] import thread-safety > > > Hello, > > > I tried reactivate parallel importing in Resolver One. More info in > > this thread from October: > >http://groups.google.com/group/ironpy/browse_thread/thread/11c5c917d716 > > b7cc/58ce4e4260c2773a?lnk=gst&q=parallel+import#58ce4e4260c2773a > > > I hit a problem. Sometimes during importing I get the following > > exception. It is a bit of a haisenbug because whenever I try to add > > some diagnostics Resolver One starts fine. > > > CLS Exception: System.InvalidOperationException: Collection was > > modified; enumeration operation may not execute. > > at System.ThrowHelper.ThrowInvalidOperationException > > (ExceptionResource resource) > > at > > System.Collections.Generic.Dictionary`2.ValueCollection.Enumerator.Move > > Next > > () > > at IronPython.Runtime.Types.NewTypeMaker.StoreOverriddenMethod > > (MethodInfo mi, String newName) > > at IronPython.Runtime.Types.NewTypeMaker.AddBaseMethods(Type > > finishedType, Dictionary`2 specialNames) > > at IronPython.Runtime.Types.NewTypeMaker.CreateNewType() > > at > > IronPython.Runtime.Types.NewTypeMaker.<>c__DisplayClass1.<GetNewType>b_ > > _0 > > () > > at Microsoft.Scripting.Utils.Publisher`2.GetOrCreateValue(TKey key, > > Func`1 create) > > at IronPython.Runtime.Types.NewTypeMaker.GetNewType(String > > typeName, PythonTuple bases, IAttributesCollection dict) > > at IronPython.Runtime.Types.PythonType..ctor(CodeContext context, > > String name, PythonTuple bases, IAttributesCollection dict) > > at IronPython.Runtime.Types.PythonType.__new__(CodeContext context, > > PythonType cls, String name, PythonTuple bases, IAttributesCollection > > dict) > > at _stub_$270##128(Closure , CallSite , CodeContext , Object , > > String , PythonTuple , IAttributesCollection ) > > at IronPython.Runtime.Operations.PythonOps.MakeClass(CodeContext > > context, String name, Object[] bases, String selfNames, > > IAttributesCollection vars) > > at IronPython.Runtime.Operations.PythonOps.MakeClass(CodeContext > > context, String name, Object[] bases, String selfNames, CallTarget0 > > body) > > at DLRCachedCode.Main\RenameWorksheetTextBoxAdaptor(Scope $scope, > > LanguageContext $language) > > at Microsoft.Scripting.ScriptCode.InvokeTarget(LambdaExpression > > code, Scope scope) > > at Microsoft.Scripting.ScriptCode.Run(Scope scope) > > at IronPython.Runtime.PythonContext.CreateModule(String fileName, > > Scope scope, ScriptCode scriptCode, ModuleOptions options) > > at IronPython.Runtime.ModuleLoader.load_module(CodeContext context, > > String fullName) > > at _stub_$367##225(Closure , CallSite , CodeContext , Object , > > Object[] ) > > at IronPython.Runtime.PythonContext.Call(Object func, Object[] > > args) > > at IronPython.Runtime.Importer.FindAndLoadModuleFromImporter > > (CodeContext context, Object importer, String fullName, List path, > > Object& ret) > > at IronPython.Runtime.Importer.TryLoadMetaPathModule(CodeContext > > context, String fullName, List path, Object& ret) > > at IronPython.Runtime.Importer.TryGetExistingOrMetaPathModule > > (CodeContext context, String fullName, List path, Object& ret) > > at IronPython.Runtime.Importer.ImportNestedModule(CodeContext > > context, Scope scope, String name, List path) > > at IronPython.Runtime.Importer.ImportModuleFrom(CodeContext > > context, Object from, String name) > > at IronPython.Runtime.Importer.ImportModule(CodeContext context, > > Object globals, String modName, Boolean bottom, Int32 level) > > at IronPython.Runtime.Builtin.__import__(CodeContext context, > > String name, Object globals, Object locals, Object fromlist, Int32 > > level) > > at IronPython.Runtime.Builtin.__import__(CodeContext context, > > String name) > > at _stub_$548##406(Closure , CallSite , CodeContext , Object , > > Object ) > > at DLRCachedCode.worker$736(Closure ) > > CLS Stack trace: > > > at System.ThrowHelper.ThrowInvalidOperationException > > (ExceptionResource resource) > > at > > System.Collections.Generic.Dictionary`2.ValueCollection.Enumerator.Move > > Next > > () > > at IronPython.Runtime.Types.NewTypeMaker.StoreOverriddenMethod > > (MethodInfo mi, String newName) > > at IronPython.Runtime.Types.NewTypeMaker.AddBaseMethods(Type > > finishedType, Dictionary`2 specialNames) > > at IronPython.Runtime.Types.NewTypeMaker.CreateNewType() > > at > > IronPython.Runtime.Types.NewTypeMaker.<>c__DisplayClass1.<GetNewType>b_ > > _0 > > () > > at Microsoft.Scripting.Utils.Publisher`2.GetOrCreateValue(TKey key, > > Func`1 create) > > at IronPython.Runtime.Types.NewTypeMaker.GetNewType(String > > typeName, PythonTuple bases, IAttributesCollection dict) > > at IronPython.Runtime.Types.PythonType..ctor(CodeContext context, > > String name, PythonTuple bases, IAttributesCollection dict) > > at IronPython.Runtime.Types.PythonType.__new__(CodeContext context, > > PythonType cls, String name, PythonTuple bases, IAttributesCollection > > dict) > > at _stub_$270##128(Closure , CallSite , CodeContext , Object , > > String , PythonTuple , IAttributesCollection ) > > at IronPython.Runtime.Operations.PythonOps.MakeClass(CodeContext > > context, String name, Object[] bases, String selfNames, > > IAttributesCollection vars) > > at IronPython.Runtime.Operations.PythonOps.MakeClass(CodeContext > > context, String name, Object[] bases, String selfNames, CallTarget0 > > body) > > at DLRCachedCode.Main\RenameWorksheetTextBoxAdaptor(Scope $scope, > > LanguageContext $language) > > at Microsoft.Scripting.ScriptCode.InvokeTarget(LambdaExpression > > code, Scope scope) > > at Microsoft.Scripting.ScriptCode.Run(Scope scope) > > at IronPython.Runtime.PythonContext.CreateModule(String fileName, > > Scope scope, ScriptCode scriptCode, ModuleOptions options) > > at IronPython.Runtime.ModuleLoader.load_module(CodeContext context, > > String fullName) > > at _stub_$367##225(Closure , CallSite , CodeContext , Object , > > Object[] ) > > at IronPython.Runtime.PythonContext.Call(Object func, Object[] > > args) > > at IronPython.Runtime.Importer.FindAndLoadModuleFromImporter > > (CodeContext context, Object importer, String fullName, List path, > > Object& ret) > > at IronPython.Runtime.Importer.TryLoadMetaPathModule(CodeContext > > context, String fullName, List path, Object& ret) > > at IronPython.Runtime.Importer.TryGetExistingOrMetaPathModule > > (CodeContext context, String fullName, List path, Object& ret) > > at IronPython.Runtime.Importer.ImportNestedModule(CodeContext > > context, Scope scope, String name, List path) > > at IronPython.Runtime.Importer.ImportModuleFrom(CodeContext > > context, Object from, String name) > > at IronPython.Runtime.Importer.ImportModule(CodeContext context, > > Object globals, String modName, Boolean bottom, Int32 level) > > at IronPython.Runtime.Builtin.__import__(CodeContext context, > > String name, Object globals, Object locals, Object fromlist, Int32 > > level) > > at IronPython.Runtime.Builtin.__import__(CodeContext context, > > String name) > > at _stub_$548##406(Closure , CallSite , CodeContext , Object , > > Object ) > > at DLRCachedCode.worker$736(Closure ) > > > _______________________________________________ > > Users mailing list > > us...@lists.ironpython.com > >http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > _______________________________________________ > Users mailing list > us...@lists.ironpython.comhttp://lists.ironpython.com/listinfo.cgi/users-ironpython.com _______________________________________________ Users mailing list Users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com