dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.63k stars 4.57k forks source link

[trimming] Test failures only when trimming #73961

Open radical opened 1 year ago

radical commented 1 year ago

All failures

Seen on main, and https://github.com/dotnet/runtime/pull/73894 : Rolling builds failing due to trimming errors like:

[22:39:56] fail: [FAIL] DataContractJsonSerializerTests.DCJS_VerifyDateTimeForFormatStringDCJsonSerSettings
[22:39:56] info: System.Runtime.Serialization.SerializationException : No set method for property 'System.DateTime UtcDateTime' in type 'System.Runtime.Serialization.DateTimeOffsetAdapter'.
[22:39:56] info:    at System.Runtime.Serialization.Json.JsonFormatReaderGenerator.CriticalHelper.GenerateClassReader(ClassDataContract )
[22:39:56] info:    at System.Runtime.Serialization.Json.JsonClassDataContract.get_JsonFormatReaderDelegate()
[22:39:56] info:    at System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator , Boolean , DataContractResolver )
[22:39:56] info:    at DataContractJsonSerializerTests.SerializeAndDeserialize[DateTimeOffset](DateTimeOffset value, String baseline, DataContractJsonSerializerSettings settings, Func`1 serializerFactory, Boolean skipStringCompare)
[22:39:56] info:    at System.Reflection.MethodInvoker.InterpretedInvoke(Object , Span`1 , BindingFlags )
[22:39:56] fail: [FAIL] DataContractJsonSerializerTests.DCJS_ClassWithDatetimeOffsetTypeProperty
[22:39:56] info: System.Runtime.Serialization.SerializationException : No set method for property 'System.DateTime UtcDateTime' in type 'System.Runtime.Serialization.DateTimeOffsetAdapter'.
[22:39:56] info:    at System.Runtime.Serialization.Json.JsonFormatReaderGenerator.CriticalHelper.GenerateClassReader(ClassDataContract )
[22:39:56] info:    at System.Runtime.Serialization.Json.JsonClassDataContract.get_JsonFormatReaderDelegate()
[22:39:56] info:    at System.Object.ReadTypeWithDateTimeOffsetTypePropertyFromJson(XmlReaderDelegator , XmlObjectSerializerReadContextComplexJson , XmlDictionaryString , XmlDictionaryString[] )
[22:39:56] info:    at System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator , Boolean , DataContractResolver )
[22:39:56] info:    at DataContractJsonSerializerTests.SerializeAndDeserialize[TypeWithDateTimeOffsetTypeProperty](TypeWithDateTimeOffsetTypeProperty value, String baseline, DataContractJsonSerializerSettings settings, Func`1 serializerFactory, Boolean skipStringCompare)
[22:39:56] info:    at System.Reflection.MethodInvoker.InterpretedInvoke(Object , Span`1 , BindingFlags )
[22:39:56] info: Finished:    System.Runtime.Serialization.Json.Tests.dll


TestName | ConsoleUri -- | -- ~~normal-System.Runtime.Serialization.Json.ReflectionOnly.Tests~~ | https://helixre107v0xdeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-heads-main-1ee9e77bee6d490fac/normal-System.Runtime.Serialization.Json.ReflectionOnly.Tests/1/console.22326ac1.log?helixlogtype=result ~~normal-System.Runtime.Serialization.Json.Tests~~ | https://helixre107v0xdeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-heads-main-1ee9e77bee6d490fac/normal-System.Runtime.Serialization.Json.Tests/1/console.ae864d7d.log?helixlogtype=result normal-System.Runtime.Serialization.Schema.Tests | https://helixre107v0xdeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-heads-main-1ee9e77bee6d490fac/normal-System.Runtime.Serialization.Schema.Tests/1/console.53a021b1.log?helixlogtype=result ~~normal-System.Runtime.Serialization.Xml.ReflectionOnly.Tests~~ | https://helixre107v0xdeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-heads-main-1ee9e77bee6d490fac/normal-System.Runtime.Serialization.Xml.ReflectionOnly.Tests/1/console.943b0a42.log?helixlogtype=result ~~normal-System.Runtime.Serialization.Xml.Tests~~ | https://helixre107v0xdeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-heads-main-1ee9e77bee6d490fac/normal-System.Runtime.Serialization.Xml.Tests/1/console.76324c76.log?helixlogtype=result normal-System.Xml.XmlSerializer.ReflectionOnly.Tests | https://helixre107v0xdeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-heads-main-1ee9e77bee6d490fac/normal-System.Xml.XmlSerializer.ReflectionOnly.Tests/1/console.7177f9b5.log?helixlogtype=result normal-System.Xml.XmlSerializer.Tests | https://helixre107v0xdeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-heads-main-1ee9e77bee6d490fac/normal-System.Xml.XmlSerializer.Tests/1/console.a2208202.log?helixlogtype=result

The trimming related build errors were fixed in https://github.com/dotnet/runtime/commit/7d986fa00cfc93e656e5bc548f244df82c401b59 . These are actual test failures now. I have pushed fixes for some of these to https://github.com/dotnet/runtime/pull/73894 .

cc @eerhardt @stephentoub

Failures for which the tests have been disabled

System.Runtime.Serialization.Schema.Tests log:

[11:27:00] fail: [FAIL] System.Runtime.Serialization.Schema.Tests.RoundTripTest.RountTripTest
[11:27:00] info: System.Runtime.Serialization.InvalidDataContractException : Type 'System.ComponentModel.MarshalByValueComponent' cannot be serialized. Consider marking it with the DataContractAttribute attribute, and marking all of its members you want serialized with the DataMemberAttribute attribute. Alternatively, you can ensure that the type is public and has a parameterless constructor - all public members of the type will then be serialized, and no attributes will be required.
[11:27:00] info:    at System.Runtime.Serialization.DataContracts.DataContract.DataContractCriticalHelper.ThrowInvalidDataContractException(String , Type )
[11:27:00] info:    at System.Runtime.Serialization.DataContracts.DataContract.DataContractCriticalHelper.CreateDataContract(Type )
[11:27:00] info:    at System.Runtime.Serialization.DataContracts.DataContract.DataContractCriticalHelper.CreateDataContract(Int32 , RuntimeTypeHandle , Type )
[11:27:00] info:    at System.Runtime.Serialization.DataContracts.DataContract.DataContractCriticalHelper.GetDataContractSkipValidation(Int32 , RuntimeTypeHandle , Type )
[11:27:00] info:    at System.Runtime.Serialization.DataContracts.DataContract.GetDataContractSkipValidation(Int32 id, RuntimeTypeHandle typeHandle, Type type)
[11:27:00] info:    at System.Runtime.Serialization.DataContracts.DataContract.GetDataContract(RuntimeTypeHandle typeHandle, Type type)
[11:27:00] info:    at System.Runtime.Serialization.DataContracts.DataContract.GetDataContract(Type type)
[11:27:00] info:    at System.Runtime.Serialization.DataContracts.ClassDataContract.ClassDataContractCriticalHelper..ctor(Type )
[11:27:00] info:    at System.Runtime.Serialization.DataContracts.ClassDataContract..ctor(Type )
[11:27:00] info:    at System.Runtime.Serialization.DataContracts.DataContract.DataContractCriticalHelper.CreateDataContract(Type )
[11:27:00] info:    at System.Runtime.Serialization.DataContracts.DataContract.DataContractCriticalHelper.CreateDataContract(Int32 , RuntimeTypeHandle , Type )
[11:27:00] info:    at System.Runtime.Serialization.DataContracts.DataContract.DataContractCriticalHelper.GetDataContractSkipValidation(Int32 , RuntimeTypeHandle , Type )
[11:27:00] info:    at System.Runtime.Serialization.DataContracts.DataContract.GetDataContractSkipValidation(Int32 id, RuntimeTypeHandle typeHandle, Type type)
[11:27:00] info:    at System.Runtime.Serialization.DataContracts.DataContract.GetDataContract(RuntimeTypeHandle typeHandle, Type type)
[11:27:00] info:    at System.Runtime.Serialization.DataContracts.DataContract.GetDataContract(Type type)
[11:27:00] info:    at System.Runtime.Serialization.DataContracts.DataContractSet.GetDataContract(Type )
[11:27:00] info:    at System.Runtime.Serialization.DataContracts.DataContractSet.GetMemberTypeDataContract(DataMember )
[11:27:00] info:    at System.Runtime.Serialization.DataContracts.DataContractSet.AddClassDataContract(ClassDataContract )
[11:27:00] info:    at System.Runtime.Serialization.DataContracts.DataContractSet.InternalAdd(XmlQualifiedName , DataContract )
[11:27:00] info:    at System.Runtime.Serialization.DataContracts.DataContractSet.Add(XmlQualifiedName , DataContract )
[11:27:00] info:    at System.Runtime.Serialization.DataContracts.DataContractSet.Add(DataContract )
[11:27:00] info:    at System.Runtime.Serialization.DataContracts.DataContractSet.Add(Type )
[11:27:00] info:    at System.Runtime.Serialization.XsdDataContractExporter.AddType(Type )
[11:27:00] info:    at System.Runtime.Serialization.XsdDataContractExporter.Export(Type )
[11:27:00] info:    at System.Runtime.Serialization.Schema.Tests.RoundTripTest.RountTripTest()
[11:27:00] info:    at System.Reflection.MethodInvoker.InterpretedInvoke(Object , Span`1 , BindingFlags )

System.Runtime.Serialization.Xml.ReflectionOnly.Tests log:

[11:26:59] info: Starting:    System.Runtime.Serialization.Xml.ReflectionOnly.Tests.dll
[11:27:03] fail: [FAIL] DataContractSerializerTests.DCS_MemoryStream_Deserialize_CompatibleWithFullFramework
[11:27:03] info: System.NullReferenceException : Object reference not set to an instance of an object.
[11:27:03] info:    at System.Runtime.Serialization.MemoryStreamAdapter.GetMemoryStream(MemoryStreamAdapter value)
[11:27:03] info:    at System.Runtime.Serialization.ReflectionReader.ResolveAdapterObject(Object , ClassDataContract )
[11:27:03] info:    at System.Runtime.Serialization.ReflectionReader.ReflectionReadClass(XmlReaderDelegator , XmlObjectSerializerReadContext , XmlDictionaryString[] , XmlDictionaryString[] , ClassDataContract )
[11:27:03] info:    at System.Runtime.Serialization.ReflectionXmlClassReader.ReflectionReadClass(XmlReaderDelegator , XmlObjectSerializerReadContext , XmlDictionaryString[] , XmlDictionaryString[] )
[11:27:03] info:    at System.Runtime.Serialization.DataContracts.ClassDataContract.ReadXmlValue(XmlReaderDelegator , XmlObjectSerializerReadContext )
[11:27:03] info:    at System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadDataContractValue(DataContract , XmlReaderDelegator )
[11:27:03] info:    at System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator reader, String name, String ns, Type declaredType, DataContract& dataContract)
[11:27:03] info:    at System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator xmlReader, Type declaredType, DataContract dataContract, String name, String ns)
[11:27:03] info:    at System.Runtime.Serialization.DataContractSerializer.InternalReadObject(XmlReaderDelegator xmlReader, Boolean verifyObjectName, DataContractResolver dataContractResolver)
[11:27:03] info:    at System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator reader, Boolean verifyObjectName, DataContractResolver dataContractResolver)
[11:27:03] info:    at System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator reader, Boolean verifyObjectName)
[11:27:03] info:    at System.Runtime.Serialization.DataContractSerializer.ReadObject(XmlReader )
[11:27:03] info:    at DataContractSerializerTests.<DCS_MemoryStream_Deserialize_CompatibleWithFullFramework>g__DeserializeObjectAndValidate|241_0(String input, Byte[] expectedData, Int32 expectedPosition, Boolean expectedExposable, Boolean expectedWritable)
[11:27:03] info:    at DataContractSerializerTests.DCS_MemoryStream_Deserialize_CompatibleWithFullFramework()
[11:27:03] info:    at System.Reflection.MethodInvoker.InterpretedInvoke(Object , Span`1 , BindingFlags )
[11:27:03] fail: [FAIL] DataContractSerializerTests.DCS_MemoryStream_Serialize_UsesBuiltInAdapter
[11:27:03] info: XML comparison is also failing
[11:27:03] info: Test failed for input: System.IO.MemoryStream
[11:27:03] info: Expected: <MemoryStream xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/System.IO"><__identity i:nil="true" xmlns="http://schemas.datacontract.org/2004/07/System" /><_buffer></_buffer><_capacity>0</_capacity><_expandable>false</_expandable><_exposable>true</_exposable><_isOpen>true</_isOpen><_length>0</_length><_origin>0</_origin><_position>0</_position><_writable>true</_writable></MemoryStream>
[11:27:03] info: Actual: <MemoryStream xmlns="http://schemas.datacontract.org/2004/07/System.IO" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><_buffer/><_capacity>0</_capacity><_expandable>false</_expandable><_exposable>true</_exposable><_isOpen>true</_isOpen><_length>0</_length><_origin>0</_origin><_position>0</_position><_writable>true</_writable></MemoryStream>
[11:27:03] info: Expected: True
[11:27:03] info: Actual:   False
[11:27:03] info:    at System.Runtime.Serialization.Tests.DataContractSerializerHelper.SerializeAndDeserialize[MemoryStream](MemoryStream value, String baseline, DataContractSerializerSettings settings, Func`1 serializerFactory, Boolean skipStringCompare)
[11:27:03] info:    at DataContractSerializerTests.<DCS_MemoryStream_Serialize_UsesBuiltInAdapter>g__ValidateObject|240_0(MemoryStream original, String expectedXml, Byte[] expectedData, Int32 expectedPosition, Boolean expectedExposable)
[11:27:03] info:    at DataContractSerializerTests.DCS_MemoryStream_Serialize_UsesBuiltInAdapter()
[11:27:03] info:    at System.Reflection.MethodInvoker.InterpretedInvoke(Object , Span`1 , BindingFlags )

System.Runtime.Serialization.Xml.Tests log:

[11:27:07] fail: [FAIL] DataContractSerializerTests.DCS_MemoryStream_Serialize_UsesBuiltInAdapter
[11:27:07] info: XML comparison is also failing
[11:27:07] info: Test failed for input: System.IO.MemoryStream
[11:27:07] info: Expected: <MemoryStream xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/System.IO"><__identity i:nil="true" xmlns="http://schemas.datacontract.org/2004/07/System" /><_buffer></_buffer><_capacity>0</_capacity><_expandable>false</_expandable><_exposable>true</_exposable><_isOpen>true</_isOpen><_length>0</_length><_origin>0</_origin><_position>0</_position><_writable>true</_writable></MemoryStream>
[11:27:07] info: Actual: <MemoryStream xmlns="http://schemas.datacontract.org/2004/07/System.IO" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><_buffer/><_capacity>0</_capacity><_expandable>false</_expandable><_exposable>true</_exposable><_isOpen>true</_isOpen><_length>0</_length><_origin>0</_origin><_position>0</_position><_writable>true</_writable></MemoryStream>
[11:27:07] info: Expected: True
[11:27:07] info: Actual:   False
[11:27:07] info:    at System.Runtime.Serialization.Tests.DataContractSerializerHelper.SerializeAndDeserialize[MemoryStream](MemoryStream value, String baseline, DataContractSerializerSettings settings, Func`1 serializerFactory, Boolean skipStringCompare)
[11:27:07] info:    at DataContractSerializerTests.<DCS_MemoryStream_Serialize_UsesBuiltInAdapter>g__ValidateObject|238_0(MemoryStream original, String expectedXml, Byte[] expectedData, Int32 expectedPosition, Boolean expectedExposable)
[11:27:07] info:    at DataContractSerializerTests.DCS_MemoryStream_Serialize_UsesBuiltInAdapter()
[11:27:07] info:    at System.Reflection.MethodInvoker.InterpretedInvoke(Object , Span`1 , BindingFlags )
[11:27:08] fail: [FAIL] System.Runtime.Serialization.Xml.XsdDataContractExporterTests.ExporterApiTests.Export(testname: "Exp2", export: Action`1 { Method = Void <Export_MemberData>b__7_2(System.Runtime.Serialization.XsdDataContractExporter), Target = <>c { } }, schemaCheck: Action`2 { Method = Void <Export_MemberData>b__3(System.String, System.Xml.Schema.XmlSchemaSet), Target = <>c__DisplayClass7_0 { autoImportKVP = False } })
[11:27:08] info: Assert.Equal() Failure
[11:27:08] info: Expected: 20
[11:27:08] info: Actual:   4
[11:27:08] info:    at System.Runtime.Serialization.Xml.XsdDataContractExporterTests.ExporterApiTests.<>c__DisplayClass7_0.<Export_MemberData>b__3(String s, XmlSchemaSet ss)
[11:27:08] info:    at System.Runtime.Serialization.Xml.XsdDataContractExporterTests.ExporterApiTests.Export(String testname, Action`1 export, Action`2 schemaCheck)
[11:27:08] info:    at System.Reflection.MethodInvoker.InterpretedInvoke(Object , Span`1 , BindingFlags )
{
  "ErrorMessage": "",
  "BuildRetry": false,
  "ErrorPattern": "",
  "ExcludeConsoleLog": false
}

Report

Build Definition Test Pull Request
257329 dotnet/runtime XmlSerializerTests.Xml_DefaultValueAttributeSetToNegativeInfinityTest dotnet/runtime#85565

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
0 1 1
ghost commented 1 year ago

Tagging subscribers to 'arch-wasm': @lewing See info in area-owners.md if you want to be subscribed.

Issue Details
Seen on `main`, and https://github.com/dotnet/runtime/pull/73894 : [System.Runtime.Serialization.Schema.Tests log][https://helixre107v0xdeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-pull-73894-merge-81b30ad20ea9433393/normal-System.Runtime.Serialization.Schema.Tests/1/console.2e21e33a.log?helixlogtype=result]: ``` [11:27:00] fail: [FAIL] System.Runtime.Serialization.Schema.Tests.RoundTripTest.RountTripTest [11:27:00] info: System.Runtime.Serialization.InvalidDataContractException : Type 'System.ComponentModel.MarshalByValueComponent' cannot be serialized. Consider marking it with the DataContractAttribute attribute, and marking all of its members you want serialized with the DataMemberAttribute attribute. Alternatively, you can ensure that the type is public and has a parameterless constructor - all public members of the type will then be serialized, and no attributes will be required. [11:27:00] info: at System.Runtime.Serialization.DataContracts.DataContract.DataContractCriticalHelper.ThrowInvalidDataContractException(String , Type ) [11:27:00] info: at System.Runtime.Serialization.DataContracts.DataContract.DataContractCriticalHelper.CreateDataContract(Type ) [11:27:00] info: at System.Runtime.Serialization.DataContracts.DataContract.DataContractCriticalHelper.CreateDataContract(Int32 , RuntimeTypeHandle , Type ) [11:27:00] info: at System.Runtime.Serialization.DataContracts.DataContract.DataContractCriticalHelper.GetDataContractSkipValidation(Int32 , RuntimeTypeHandle , Type ) [11:27:00] info: at System.Runtime.Serialization.DataContracts.DataContract.GetDataContractSkipValidation(Int32 id, RuntimeTypeHandle typeHandle, Type type) [11:27:00] info: at System.Runtime.Serialization.DataContracts.DataContract.GetDataContract(RuntimeTypeHandle typeHandle, Type type) [11:27:00] info: at System.Runtime.Serialization.DataContracts.DataContract.GetDataContract(Type type) [11:27:00] info: at System.Runtime.Serialization.DataContracts.ClassDataContract.ClassDataContractCriticalHelper..ctor(Type ) [11:27:00] info: at System.Runtime.Serialization.DataContracts.ClassDataContract..ctor(Type ) [11:27:00] info: at System.Runtime.Serialization.DataContracts.DataContract.DataContractCriticalHelper.CreateDataContract(Type ) [11:27:00] info: at System.Runtime.Serialization.DataContracts.DataContract.DataContractCriticalHelper.CreateDataContract(Int32 , RuntimeTypeHandle , Type ) [11:27:00] info: at System.Runtime.Serialization.DataContracts.DataContract.DataContractCriticalHelper.GetDataContractSkipValidation(Int32 , RuntimeTypeHandle , Type ) [11:27:00] info: at System.Runtime.Serialization.DataContracts.DataContract.GetDataContractSkipValidation(Int32 id, RuntimeTypeHandle typeHandle, Type type) [11:27:00] info: at System.Runtime.Serialization.DataContracts.DataContract.GetDataContract(RuntimeTypeHandle typeHandle, Type type) [11:27:00] info: at System.Runtime.Serialization.DataContracts.DataContract.GetDataContract(Type type) [11:27:00] info: at System.Runtime.Serialization.DataContracts.DataContractSet.GetDataContract(Type ) [11:27:00] info: at System.Runtime.Serialization.DataContracts.DataContractSet.GetMemberTypeDataContract(DataMember ) [11:27:00] info: at System.Runtime.Serialization.DataContracts.DataContractSet.AddClassDataContract(ClassDataContract ) [11:27:00] info: at System.Runtime.Serialization.DataContracts.DataContractSet.InternalAdd(XmlQualifiedName , DataContract ) [11:27:00] info: at System.Runtime.Serialization.DataContracts.DataContractSet.Add(XmlQualifiedName , DataContract ) [11:27:00] info: at System.Runtime.Serialization.DataContracts.DataContractSet.Add(DataContract ) [11:27:00] info: at System.Runtime.Serialization.DataContracts.DataContractSet.Add(Type ) [11:27:00] info: at System.Runtime.Serialization.XsdDataContractExporter.AddType(Type ) [11:27:00] info: at System.Runtime.Serialization.XsdDataContractExporter.Export(Type ) [11:27:00] info: at System.Runtime.Serialization.Schema.Tests.RoundTripTest.RountTripTest() [11:27:00] info: at System.Reflection.MethodInvoker.InterpretedInvoke(Object , Span`1 , BindingFlags ) ``` [System.Runtime.Serialization.Xml.ReflectionOnly.Tests log](https://helixre107v0xdeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-pull-73894-merge-81b30ad20ea9433393/normal-System.Runtime.Serialization.Xml.ReflectionOnly.Tests/1/console.37b11bcb.log?helixlogtype=result): ``` [11:26:59] info: Starting: System.Runtime.Serialization.Xml.ReflectionOnly.Tests.dll [11:27:03] fail: [FAIL] DataContractSerializerTests.DCS_MemoryStream_Deserialize_CompatibleWithFullFramework [11:27:03] info: System.NullReferenceException : Object reference not set to an instance of an object. [11:27:03] info: at System.Runtime.Serialization.MemoryStreamAdapter.GetMemoryStream(MemoryStreamAdapter value) [11:27:03] info: at System.Runtime.Serialization.ReflectionReader.ResolveAdapterObject(Object , ClassDataContract ) [11:27:03] info: at System.Runtime.Serialization.ReflectionReader.ReflectionReadClass(XmlReaderDelegator , XmlObjectSerializerReadContext , XmlDictionaryString[] , XmlDictionaryString[] , ClassDataContract ) [11:27:03] info: at System.Runtime.Serialization.ReflectionXmlClassReader.ReflectionReadClass(XmlReaderDelegator , XmlObjectSerializerReadContext , XmlDictionaryString[] , XmlDictionaryString[] ) [11:27:03] info: at System.Runtime.Serialization.DataContracts.ClassDataContract.ReadXmlValue(XmlReaderDelegator , XmlObjectSerializerReadContext ) [11:27:03] info: at System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadDataContractValue(DataContract , XmlReaderDelegator ) [11:27:03] info: at System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator reader, String name, String ns, Type declaredType, DataContract& dataContract) [11:27:03] info: at System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator xmlReader, Type declaredType, DataContract dataContract, String name, String ns) [11:27:03] info: at System.Runtime.Serialization.DataContractSerializer.InternalReadObject(XmlReaderDelegator xmlReader, Boolean verifyObjectName, DataContractResolver dataContractResolver) [11:27:03] info: at System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator reader, Boolean verifyObjectName, DataContractResolver dataContractResolver) [11:27:03] info: at System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator reader, Boolean verifyObjectName) [11:27:03] info: at System.Runtime.Serialization.DataContractSerializer.ReadObject(XmlReader ) [11:27:03] info: at DataContractSerializerTests.g__DeserializeObjectAndValidate|241_0(String input, Byte[] expectedData, Int32 expectedPosition, Boolean expectedExposable, Boolean expectedWritable) [11:27:03] info: at DataContractSerializerTests.DCS_MemoryStream_Deserialize_CompatibleWithFullFramework() [11:27:03] info: at System.Reflection.MethodInvoker.InterpretedInvoke(Object , Span`1 , BindingFlags ) [11:27:03] fail: [FAIL] DataContractSerializerTests.DCS_MemoryStream_Serialize_UsesBuiltInAdapter [11:27:03] info: XML comparison is also failing [11:27:03] info: Test failed for input: System.IO.MemoryStream [11:27:03] info: Expected: <__identity i:nil="true" xmlns="http://schemas.datacontract.org/2004/07/System" /><_buffer><_capacity>0<_expandable>false<_exposable>true<_isOpen>true<_length>0<_origin>0<_position>0<_writable>true [11:27:03] info: Actual: <_buffer/><_capacity>0<_expandable>false<_exposable>true<_isOpen>true<_length>0<_origin>0<_position>0<_writable>true [11:27:03] info: Expected: True [11:27:03] info: Actual: False [11:27:03] info: at System.Runtime.Serialization.Tests.DataContractSerializerHelper.SerializeAndDeserialize[MemoryStream](MemoryStream value, String baseline, DataContractSerializerSettings settings, Func`1 serializerFactory, Boolean skipStringCompare) [11:27:03] info: at DataContractSerializerTests.g__ValidateObject|240_0(MemoryStream original, String expectedXml, Byte[] expectedData, Int32 expectedPosition, Boolean expectedExposable) [11:27:03] info: at DataContractSerializerTests.DCS_MemoryStream_Serialize_UsesBuiltInAdapter() [11:27:03] info: at System.Reflection.MethodInvoker.InterpretedInvoke(Object , Span`1 , BindingFlags ) ``` [System.Runtime.Serialization.Xml.Tests log](https://helixre107v0xdeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-pull-73894-merge-81b30ad20ea9433393/normal-System.Runtime.Serialization.Xml.Tests/1/console.21dcc89b.log?helixlogtype=result): ``` [11:27:07] fail: [FAIL] DataContractSerializerTests.DCS_MemoryStream_Serialize_UsesBuiltInAdapter [11:27:07] info: XML comparison is also failing [11:27:07] info: Test failed for input: System.IO.MemoryStream [11:27:07] info: Expected: <__identity i:nil="true" xmlns="http://schemas.datacontract.org/2004/07/System" /><_buffer><_capacity>0<_expandable>false<_exposable>true<_isOpen>true<_length>0<_origin>0<_position>0<_writable>true [11:27:07] info: Actual: <_buffer/><_capacity>0<_expandable>false<_exposable>true<_isOpen>true<_length>0<_origin>0<_position>0<_writable>true [11:27:07] info: Expected: True [11:27:07] info: Actual: False [11:27:07] info: at System.Runtime.Serialization.Tests.DataContractSerializerHelper.SerializeAndDeserialize[MemoryStream](MemoryStream value, String baseline, DataContractSerializerSettings settings, Func`1 serializerFactory, Boolean skipStringCompare) [11:27:07] info: at DataContractSerializerTests.g__ValidateObject|238_0(MemoryStream original, String expectedXml, Byte[] expectedData, Int32 expectedPosition, Boolean expectedExposable) [11:27:07] info: at DataContractSerializerTests.DCS_MemoryStream_Serialize_UsesBuiltInAdapter() [11:27:07] info: at System.Reflection.MethodInvoker.InterpretedInvoke(Object , Span`1 , BindingFlags ) [11:27:08] fail: [FAIL] System.Runtime.Serialization.Xml.XsdDataContractExporterTests.ExporterApiTests.Export(testname: "Exp2", export: Action`1 { Method = Void b__7_2(System.Runtime.Serialization.XsdDataContractExporter), Target = <>c { } }, schemaCheck: Action`2 { Method = Void b__3(System.String, System.Xml.Schema.XmlSchemaSet), Target = <>c__DisplayClass7_0 { autoImportKVP = False } }) [11:27:08] info: Assert.Equal() Failure [11:27:08] info: Expected: 20 [11:27:08] info: Actual: 4 [11:27:08] info: at System.Runtime.Serialization.Xml.XsdDataContractExporterTests.ExporterApiTests.<>c__DisplayClass7_0.b__3(String s, XmlSchemaSet ss) [11:27:08] info: at System.Runtime.Serialization.Xml.XsdDataContractExporterTests.ExporterApiTests.Export(String testname, Action`1 export, Action`2 schemaCheck) [11:27:08] info: at System.Reflection.MethodInvoker.InterpretedInvoke(Object , Span`1 , BindingFlags ) ```
Author: radical
Assignees: -
Labels: `arch-wasm`, `disabled-test`, `trimming-for-aot`
Milestone: -
sbomer commented 1 year ago

Likely the result of https://github.com/dotnet/linker/pull/2929, which turned off the serialization heuristics by default.

StephenMolloy commented 1 year ago

@sbomer, @lewing, and @radical - What is the expected path forward here? The serializer assemblies are not field-level trimmable. This isn't really an 'area-Serialization' issue as nothing changed with the serializers to cause this. Who should be responsible for ensuring that the serialization exceptions are enabled when running serialization tests?