Bug 422785 - Mono will crash when calling System.ServiceModel.Open ()
Summary: Mono will crash when calling System.ServiceModel.Open ()
Status: NEW
Alias: None
Product: Mono: Class Libraries
Classification: Mono
Component: WCF (show other bugs)
Version: unspecified
Hardware: i686 Linux
: P5 - None : Major
Target Milestone: ---
Assignee: Atsushi Enomoto
QA Contact: Mono Bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-09-03 19:31 UTC by Johannes Roith
Modified: 2011-06-24 18:01 UTC (History)
2 users (show)

See Also:
Found By: Development
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Johannes Roith 2008-09-03 19:31:23 UTC
Mono (trunk from today) will crash when System.ServiceModel.Open () is called.
(This is in a real-world application; it doesn't happen in any WCF application.)

OS: Ubuntu 8.04

I can't provide the code that causes the problem here, yet, but it will be released as open source later this year. However if you need that information and you are working for Novell, please feel free to contact me by mail.

This bug also (in a slightly different way) occurs with Mono 2.0 and olive.

An excerpt from the crash:

Stack overflow in unmanaged: IP: 0x818045f, fault addr: 0xbf2dcebc
Stack overflow: IP: 0x818045f, fault addr: 0xbf2d4d14
At Unmanaged
Stacktrace:

  at (wrapper managed-to-native) System.MonoCustomAttrs.GetCustomAttributesInternal (System.Reflection.ICustomAttributeProvider,System.Type,bool) <0x00004>
  at (wrapper managed-to-native) System.MonoCustomAttrs.GetCustomAttributesInternal (System.Reflection.ICustomAttributeProvider,System.Type,bool) <0xffffffff>
  at System.MonoCustomAttrs.GetCustomAttributesBase (System.Reflection.ICustomAttributeProvider,System.Type) <0x00014>
  at System.MonoCustomAttrs.GetCustomAttributes (System.Reflection.ICustomAttributeProvider,System.Type,bool) <0x00037>
  at System.MonoType.GetCustomAttributes (System.Type,bool) <0x00018>
  at System.Runtime.Serialization.KnownTypeCollection.GetContractQName (System.Type) <0x00018>
  at System.Runtime.Serialization.KnownTypeCollection.GetQName (System.Type) <0x00063>
  at System.Runtime.Serialization.SerializationMap.CreateDataMemberInfo (System.Runtime.Serialization.DataMemberAttribute,System.Reflection.MemberInfo,System.Type) <0x00051>
  at System.Runtime.Serialization.SharedContractMap.GetMembers (System.Type,System.Xml.XmlQualifiedName,bool) <0x000c6>
  at System.Runtime.Serialization.SharedContractMap..ctor (System.Type,System.Xml.XmlQualifiedName,System.Runtime.Serialization.KnownTypeCollection) <0x0005c>
  at System.Runtime.Serialization.KnownTypeCollection.RegisterContract (System.Type) <0x00158>
  at System.Runtime.Serialization.KnownTypeCollection.TryRegister (System.Type) <0x00057>
  at System.Runtime.Serialization.KnownTypeCollection.InsertItem (int,System.Type) <0x0000d>
  at System.Collections.ObjectModel.Collection`1<object>.Add (object) <0x00031>
  at System.Runtime.Serialization.SerializationMap.CreateDataMemberInfo (System.Runtime.Serialization.DataMemberAttribute,System.Reflection.MemberInfo,System.Type) <0x0001c>
  at System.Runtime.Serialization.SharedContractMap.GetMembers (System.Type,System.Xml.XmlQualifiedName,bool) <0x000c6>
  at System.Runtime.Serialization.SharedContractMap..ctor (System.Type,System.Xml.XmlQualifiedName,System.Runtime.Serialization.KnownTypeCollection) <0x0005c>
  at System.Runtime.Serialization.KnownTypeCollection.RegisterContract (System.Type) <0x00158>
  at System.Runtime.Serialization.KnownTypeCollection.TryRegister (System.Type) <0x00057>
  at System.Runtime.Serialization.KnownTypeCollection.TryRegister (System.Type) <0x00094>
  at System.Runtime.Serialization.KnownTypeCollection.InsertItem (int,System.Type) <0x0000d>
  at System.Collections.ObjectModel.Collection`1<object>.Add (object) <0x00031>
  at System.Runtime.Serialization.SerializationMap.CreateDataMemberInfo (System.Runtime.Serialization.DataMemberAttribute,System.Reflection.MemberInfo,System.Type) <0x0001c>
  at System.Runtime.Serialization.SharedContractMap.GetMembers (System.Type,System.Xml.XmlQualifiedName,bool) <0x000c6>
  at System.Runtime.Serialization.SharedContractMap..ctor (System.Type,System.Xml.XmlQualifiedName,System.Runtime.Serialization.KnownTypeCollection) <0x0005c>
  at System.Runtime.Serialization.KnownTypeCollection.RegisterContract (System.Type) <0x00158>
  at System.Runtime.Serialization.KnownTypeCollection.TryRegister (System.Type) <0x00057>
  at System.Runtime.Serialization.KnownTypeCollection.InsertItem (int,System.Type) <0x0000d>
  at System.Collections.ObjectModel.Collection`1<object>.Add (object) <0x00031>
  at System.Runtime.Serialization.SerializationMap.CreateDataMemberInfo (System.Runtime.Serialization.DataMemberAttribute,System.Reflection.MemberInfo,System.Type) <0x0001c>
  at System.Runtime.Serialization.SharedContractMap.GetMembers (System.Type,System.Xml.XmlQualifiedName,bool) <0x000c6>
  at System.Runtime.Serialization.SharedContractMap..ctor (System.Type,System.Xml.XmlQualifiedName,System.Runtime.Serialization.KnownTypeCollection) <0x0005c>
  at System.Runtime.Serialization.KnownTypeCollection.RegisterContract (System.Type) <0x00158>
  at System.Runtime.Serialization.KnownTypeCollection.TryRegister (System.Type) <0x00057>
  at System.Runtime.Serialization.KnownTypeCollection.InsertItem (int,System.Type) <0x0000d>
  at System.Collections.ObjectModel.Collection`1<object>.Add (object) <0x00031>
  at System.Runtime.Serialization.SerializationMap.CreateDataMemberInfo (System.Runtime.Serialization.DataMemberAttribute,System.Reflection.MemberInfo,System.Type) <0x0001c>
  at System.Runtime.Serialization.SharedContractMap.GetMembers (System.Type,System.Xml.XmlQualifiedName,bool) <0x000c6>
  at System.Runtime.Serialization.SharedContractMap..ctor (System.Type,System.Xml.XmlQualifiedName,System.Runtime.Serialization.KnownTypeCollection) <0x0005c>
  at System.Runtime.Serialization.KnownTypeCollection.RegisterContract (System.Type) <0x00158>
  at System.Runtime.Serialization.KnownTypeCollection.TryRegister (System.Type) <0x00057>
  at System.Runtime.Serialization.KnownTypeCollection.TryRegister (System.Type) <0x00094>
  at System.Runtime.Serialization.KnownTypeCollection.InsertItem (int,System.Type) <0x0000d>
  at System.Collections.ObjectModel.Collection`1<object>.Add (object) <0x00031>
  at System.Runtime.Serialization.SerializationMap.CreateDataMemberInfo (System.Runtime.Serialization.DataMemberAttribute,System.Reflection.MemberInfo,System.Type) <0x0001c>
  at System.Runtime.Serialization.SharedContractMap.GetMembers (System.Type,System.Xml.XmlQualifiedName,bool) <0x000c6>
  at System.Runtime.Serialization.SharedContractMap..ctor (System.Type,System.Xml.XmlQualifiedName,System.Runtime.Serialization.KnownTypeCollection) <0x0005c>
  at System.Runtime.Serialization.KnownTypeCollection.RegisterContract (System.Type) <0x00158>
  at System.Runtime.Serialization.KnownTypeCollection.TryRegister (System.Type) <0x00057>
  at System.Runtime.Serialization.KnownTypeCollection.InsertItem (int,System.Type) <0x0000d>
  at System.Collections.ObjectModel.Collection`1<object>.Add (object) <0x00031>
  at System.Runtime.Serialization.SerializationMap.CreateDataMemberInfo (System.Runtime.Serialization.DataMemberAttribute,System.Reflection.MemberInfo,System.Type) <0x0001c>
  at System.Runtime.Serialization.SharedContractMap.GetMembers (System.Type,System.Xml.XmlQualifiedName,bool) <0x000c6>



.... 20 Megabytes follow ...





  at System.Collections.ObjectModel.Collection`1<object>.Add (object) <0x00031>
  at System.Runtime.Serialization.SerializationMap.CreateDataMemberInfo (System.Runtime.Serialization.DataMemberAttribute,System.Reflection.MemberInfo,System.Type) <0x0001c>
  at System.Runtime.Serialization.SharedContractMap.GetMembers (System.Type,System.Xml.XmlQualifiedName,bool) <0x000c6>
  at System.Runtime.Serialization.SharedContractMap..ctor (System.Type,System.Xml.XmlQualifiedName,System.Runtime.Serialization.KnownTypeCollection) <0x0005c>
  at System.Runtime.Serialization.KnownTypeCollection.RegisterContract (System.Type) <0x00158>
  at System.Runtime.Serialization.KnownTypeCollection.TryRegister (System.Type) <0x00057>
  at System.Runtime.Serialization.KnownTypeCollection.TryRegister (System.Type) <0x00094>
  at System.Runtime.Serialization.KnownTypeCollection.InsertItem (int,System.Type) <0x0000d>
  at System.Collections.ObjectModel.Collection`1<object>.Add (object) <0x00031>
  at System.Runtime.Serialization.SerializationMap.CreateDataMemberInfo (System.Runtime.Serialization.DataMemberAttribute,System.Reflection.MemberInfo,System.Type) <0x0001c>
  at System.Runtime.Serialization.SharedContractMap.GetMembers (System.Type,System.Xml.XmlQualifiedName,bool) <0x000c6>
  at System.Runtime.Serialization.SharedContractMap..ctor (System.Type,System.Xml.XmlQualifiedName,System.Runtime.Serialization.KnownTypeCollection) <0x0005c>
  at System.Runtime.Serialization.KnownTypeCollection.RegisterContract (System.Type) <0x00158>
  at System.Runtime.Serialization.KnownTypeCollection.TryRegister (System.Type) <0x00057>
  at System.Runtime.Serialization.KnownTypeCollection.InsertItem (int,System.Type) <0x0000d>
  at System.Collections.ObjectModel.Collection`1<object>.Add (object) <0x00031>
  at System.Runtime.Serialization.SerializationMap.CreateDataMemberInfo (System.Runtime.Serialization.DataMemberAttribute,System.Reflection.MemberInfo,System.Type) <0x0001c>
  at System.Runtime.Serialization.SharedContractMap.GetMembers (System.Type,System.Xml.XmlQualifiedName,bool) <0x000c6>
  at System.Runtime.Serialization.SharedContractMap..ctor (System.Type,System.Xml.XmlQualifiedName,System.Runtime.Serialization.KnownTypeCollection) <0x0005c>
  at System.Runtime.Serialization.KnownTypeCollection.RegisterContract (System.Type) <0x00158>
  at System.Runtime.Serialization.KnownTypeCollection.TryRegister (System.Type) <0x00057>
  at System.Runtime.Serialization.KnownTypeCollection.InsertItem (int,System.Type) <0x0000d>
  at System.Collections.ObjectModel.Collection`1<object>.Add (object) <0x00031>
  at System.Runtime.Serialization.SerializationMap.CreateDataMemberInfo (System.Runtime.Serialization.DataMemberAttribute,System.Reflection.MemberInfo,System.Type) <0x0001c>
  at System.Runtime.Serialization.SharedContractMap.GetMembers (System.Type,System.Xml.XmlQualifiedName,bool) <0x000c6>
  at System.Runtime.Serialization.SharedContractMap..ctor (System.Type,System.Xml.XmlQualifiedName,System.Runtime.Serialization.KnownTypeCollection) <0x0005c>
  at System.Runtime.Serialization.KnownTypeCollection.RegisterContract (System.Type) <0x00158>
  at System.Runtime.Serialization.KnownTypeCollection.TryRegister (System.Type) <0x00057>
  at System.Runtime.Serialization.KnownTypeCollection.InsertItem (int,System.Type) <0x0000d>
  at System.Collections.ObjectModel.Collection`1<object>.Add (object) <0x00031>
  at System.Runtime.Serialization.XsdDataContractExporter.Export (System.Type) <0x0001d>
  at System.ServiceModel.Description.WsdlExporter.GetSchemaElementForPart (System.ServiceModel.Description.MessagePartDescription,System.Xml.Schema.XmlSchema) <0x0006a>
  at System.ServiceModel.Description.WsdlExporter.ExportParameters (System.ServiceModel.Description.MessageBodyDescription,string,string) <0x0028f>
  at System.ServiceModel.Description.WsdlExporter.ExportMessageBodyDescription (System.ServiceModel.Description.MessageBodyDescription,string,string) <0x00079>
  at System.ServiceModel.Description.WsdlExporter.ExportContractInternal (System.ServiceModel.Description.ContractDescription) <0x00518>
  at System.ServiceModel.Description.WsdlExporter.ExportEndpoint (System.ServiceModel.Description.ServiceEndpoint) <0x00045>
  at System.ServiceModel.Description.ServiceMetadataExtension.get_Metadata () <0x0009f>
  at System.ServiceModel.Description.HttpGetWsdl.GetMetadata (System.ServiceModel.ServiceHostBase) <0x0004a>
  at System.ServiceModel.Description.HttpGetWsdl..ctor (System.ServiceModel.Description.ServiceMetadataExtension,System.Uri) <0x0005c>
  at System.ServiceModel.Description.ServiceMetadataExtension.EnsureServiceMetadataHttpChanelDispatcher (System.ServiceModel.Description.ServiceDescription,System.ServiceModel.ServiceHostBase,System.ServiceModel.Description.ServiceMetadataExtension,System.Uri) <0x00191>
  at System.ServiceModel.Description.ServiceDebugBehavior.System.ServiceModel.Description.IServiceBehavior.ApplyDispatchBehavior (System.ServiceModel.Description.ServiceDescription,System.ServiceModel.ServiceHostBase) <0x001b5>
  at System.ServiceModel.ServiceHostBase.InitializeRuntime () <0x00197>
  at System.ServiceModel.ServiceHostBase.OnOpen (System.TimeSpan) <0x00010>
  at System.ServiceModel.Channels.CommunicationObject.Open (System.TimeSpan) <0x00029>
  at System.ServiceModel.Channels.CommunicationObject.Open () <0x0002f>
  at PRODUCT.Server.Driver.Main (string[]) <0x000f6>
  at (wrapper runtime-invoke) PRODUCT.Server.Driver.runtime_invoke_void_string[] (object,intptr,intptr,intptr) <0xffffffff>

Native stacktrace:

	mono [0x80700e4]
	[0xb7ee4440]
	/lib/tls/i686/cmov/libc.so.6(abort+0x101) [0xb7caaa01]
	mono [0x8188cee]
	[0xb7ee4440]
	mono [0x818049a]
	mono [0x818049a]
	mono [0x818049a]
	mono [0x818049a]
	mono [0x818049a]
	mono [0x818049a]
	mono [0x818049a]
	mono [0x8180538]
	mono [0x8179d76]
	mono [0x8178324]
	mono(mono_string_new_size+0x3f) [0x81174af]
	mono(mono_string_new_utf16+0x1e) [0x811752e]
	mono(mono_string_new_len+0x56) [0x8117e16]
	mono [0x80e78ce]
	mono [0x80e7f85]
	mono(mono_reflection_get_custom_attrs_by_type+0xdd) [0x80e817d]
	mono [0x80b592a]
	[0xb7017b5a]
	[0xb7017aa5]
	[0xb7017418]
	[0xb70173b1]
	[0xb6b90051]
	[0xb6ba747c]
	[0xb6b909f2]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba7165]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba7165]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba7165]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba7165]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba7165]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba7165]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba7165]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba7165]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba7165]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba7165]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
	[0xb6b906a7]
	[0xb6b90425]
	[0xb6b8ffd1]
	[0xb6ba7128]
	[0xb6ba709e]
	[0xb701bba2]
	[0xb6b909bd]
Comment 1 Forgotten User vxPDddArjq 2008-09-05 05:51:11 UTC
This looks like a pretty standard stack overflow which is the runtime can't
always handle. The real problem is in the managed methods in the stacktrace
above.

Comment 2 Forgotten User vxPDddArjq 2008-10-08 05:42:06 UTC
-> class libs.