http://bugzilla.novell.com/show_bug.cgi?id=495112 Summary: Can't compile cyclic structs with mono-2.4 Classification: openSUSE Product: openSUSE 11.2 Version: Factory Platform: All OS/Version: SuSE Other Status: NEW Severity: Critical Priority: P5 - None Component: Mono AssignedTo: bnc-team-mono@forge.provo.novell.com ReportedBy: pmladek@novell.com QAContact: qa@suse.de Found By: Development Created an attachment (id=285848) --> (http://bugzilla.novell.com/attachment.cgi?id=285848) test file I am unable to compile the following code with mono-2.4: --- cut --- public unsafe struct A { public B * pB; } public unsafe struct B { public A * pA; } --- cut --- It fails with the following error: --- cut --- $> /usr/bin/mcs -unsafe -target:library test-cyclic-structs.cs Stack overflow in unmanaged: IP: 0x811db39, fault addr: 0xbf71bff0 Unhandled Exception: Mono.CSharp.InternalErrorException: test-cyclic-structs.cs(6,22): B ---> System.StackOverflowException: The requested operation caused a stack overflow. at (wrapper managed-to-native) System.Type:type_is_subtype_of (System.Type,System.Type,bool) at System.Type.IsSubclassOf (System.Type c) [0x00000] at System.Reflection.Emit.TypeBuilder.IsSubclassOf (System.Type c) [0x00000] at System.Type.get_IsEnum () [0x00000] at System.Reflection.Emit.TypeBuilder.get_UnderlyingSystemType () [0x00000] at System.Type.Equals (System.Type o) [0x00000] at Mono.CSharp.TypeManager.IsEqual (System.Type a, System.Type b) [0x00000] at Mono.CSharp.Struct.IsUnmanagedType () [0x00000] at Mono.CSharp.TypeManager.IsUnmanagedType (System.Type t) [0x00000] at Mono.CSharp.Struct.IsUnmanagedType () [0x00000] at Mono.CSharp.TypeManager.IsUnmanagedType (System.Type t) [0x00000] at Mono.CSharp.Struct.IsUnmanagedType () [0x00000] at Mono.CSharp.TypeManager.IsUnmanagedType (System.Type t) [0x00000] [...] at Mono.CSharp.Struct.IsUnmanagedType () [0x00000] at Mono.CSharp.TypeManager.IsUnmanagedType (System.Type t) [0x00000] --- End of inner exception stack trace --- at Mono.CSharp.RootContext.PopulateTypes () [0x00000] at Mono.CSharp.Driver.Compile () [0x00000] at Mono.CSharp.Driver.Main (System.String[] args) [0x00000] --- cut --- It breaks compilation of the mono stuff in OpenOffice_org in openSUSE-Factory. -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.