[Mono-bugs] [Bug 76967][Nor] New - Generics interop problem with Mono and .NET 2.0

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Sun Dec 11 11:20:49 EST 2005


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by alp at atoker.com.

http://bugzilla.ximian.com/show_bug.cgi?id=76967

--- shadow/76967	2005-12-11 11:20:49.000000000 -0500
+++ shadow/76967.tmp.10554	2005-12-11 11:20:49.000000000 -0500
@@ -0,0 +1,106 @@
+Bug#: 76967
+Product: Mono: Runtime
+Version: unspecified
+OS: 
+OS Details: 
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Normal
+Component: JIT
+AssignedTo: lupus at ximian.com                            
+ReportedBy: alp at atoker.com               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: Generics interop problem with Mono and .NET 2.0
+
+I've got a bit of code that uses SharpDevelop 2.0 dlls built on VS.NET 2005
+(proper release). I'm building on Mono:
+
+gmcs -debug -out:editor.exe -r:ICSharpCode.Core.dll
+-r:ICSharpCode.SharpDevelop.dll -r:ICSharpCode.NRefactory.dll
+-pkg:gtk-sharp-2.0 editor.cs
+
+When I run editor.exe:
+
+$ mono editor.exe
+
+** (<unknown>:26207): WARNING **: type 0x15 not handled
+
+** ERROR **: file marshal.c: line 2053 (mono_mb_emit_restore_result):
+should not be reached
+aborting...
+Aborted
+
+
+At the end of the trace, we can see the problem is the return value of a
+property:
+
+. . LEAVE: ICSharpCode.NRefactory.Parser.AST.UsingDeclaration:get_Usings
+()(unknown return type 15)
+
+
+The relevant bit of the trace:
+
+
+. . . . ENTER: ICSharpCode.SharpDevelop.Dom.DefaultUsing:.ctor
+(ICSharpCode.Core.IProjectContent)(this:0x4faa0[ICSharpCode.SharpDevelop.Dom.DefaultUsing
+editor.exe], [ICSharpCode.Core.DefaultProjectContent:0x4fbb8], )
+. . . . . ENTER: (wrapper managed-to-native)
+System.Object:__icall_wrapper_mono_object_new_specific (intptr)(0x872db20, )
+. . . . . LEAVE: (wrapper managed-to-native)
+System.Object:__icall_wrapper_mono_object_new_specific
+(intptr)[System.Collections.Generic.List`1:0x5032d0]
+. . . . . ENTER: System.Collections.Generic.List`1:.ctor
+()(this:0x5032d0[System.Collections.Generic.List`1 editor.exe], )
+. . . . . LEAVE: System.Collections.Generic.List`1:.ctor ()
+. . . . . ENTER: (wrapper stfld)
+System.Object:__stfld_wrapper_System.Object
+(object,intptr,intptr,intptr,object)([ICSharpCode.SharpDevelop.Dom.DefaultUsing:0x4faa0],
+0x880ee48, 0x8713368, 0x20, [System.Collections.Generic.List`1:0x5032d0], )
+. . . . . LEAVE: (wrapper stfld)
+System.Object:__stfld_wrapper_System.Object
+(object,intptr,intptr,intptr,object)
+. . . . . ENTER: System.MarshalByRefObject:.ctor
+()(this:0x4faa0[ICSharpCode.SharpDevelop.Dom.DefaultUsing editor.exe], )
+. . . . . LEAVE: System.MarshalByRefObject:.ctor ()
+. . . . LEAVE: ICSharpCode.SharpDevelop.Dom.DefaultUsing:.ctor
+(ICSharpCode.Core.IProjectContent)
+. . . LEAVE: ICSharpCode.SharpDevelop.Dom.DefaultUsing:.ctor
+(ICSharpCode.Core.IProjectContent,ICSharpCode.SharpDevelop.Dom.DomRegion)
+. . LEAVE: (wrapper remoting-invoke-with-check)
+ICSharpCode.SharpDevelop.Dom.DefaultUsing:.ctor
+(ICSharpCode.Core.IProjectContent,ICSharpCode.SharpDevelop.Dom.DomRegion)
+. . ENTER: ICSharpCode.NRefactory.Parser.AST.UsingDeclaration:get_Usings
+()(this:0x4f9d8[ICSharpCode.NRefactory.Parser.AST.UsingDeclaration
+editor.exe], )
+. . LEAVE: ICSharpCode.NRefactory.Parser.AST.UsingDeclaration:get_Usings
+()(unknown return type 15)
+. . ENTER: System.Collections.Generic.List`1:GetEnumerator
+()(VALUERET:0xaffda448, this:0x29ed0[System.Collections.Generic.List`1
+editor.exe], )
+. . . ENTER: Enumerator:.ctor
+(System.Collections.Generic.List`1)(value:0xaffda420,
+[System.Collections.Generic.List`1:0x29ed0], )
+. . . LEAVE: Enumerator:.ctor (System.Collections.Generic.List`1)
+. . LEAVE: System.Collections.Generic.List`1:GetEnumerator ()(unknown
+return type 15)
+. . ENTER: Enumerator:MoveNext ()(value:0xaffda43c, )
+. . LEAVE: Enumerator:MoveNext ()TRUE:1
+. . ENTER: Enumerator:get_Current ()(value:0xaffda43c, )
+. . LEAVE: Enumerator:get_Current
+()[ICSharpCode.NRefactory.Parser.AST.Using:0x4f9b0]
+. . ENTER: ICSharpCode.NRefactory.Parser.AST.Using:AcceptVisitor
+(ICSharpCode.NRefactory.Parser.IASTVisitor,object)(this:0x4f9b0[ICSharpCode.NRefactory.Parser.AST.Using
+editor.exe],
+[ICSharpCode.SharpDevelop.Dom.NRefactoryResolver.NRefactoryASTConvertVisitor:0x2f3920],
+[ICSharpCode.SharpDevelop.Dom.DefaultUsing:0x4faa0], )
+
+
+I can provide the prebuilt SharpDevelop 2.0 dlls (built from their SVN) if
+you get in touch with me on IRC or by email.
+
+Will attach the code that uses these assemblies and triggers the bug ASAP.
+Example works on VS.NET 2005.


More information about the mono-bugs mailing list