Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.
/ corefx Public archive

[master] Update dependencies from dotnet/coreclr #40536

Merged

Conversation

dotnet-maestro[bot]
Copy link
Contributor

@dotnet-maestro dotnet-maestro bot commented Aug 23, 2019

This pull request updates the following dependencies

From https://github.com/dotnet/coreclr

  • Build: 20190829.5
  • Date Produced: 8/30/2019 12:38 AM
  • Commit: a6d7521
  • Branch: refs/heads/master
  • Updates:
    • Microsoft.NET.Sdk.IL -> 5.0.0-alpha1.19429.5
    • Microsoft.NETCore.ILAsm -> 5.0.0-alpha1.19429.5
    • Microsoft.NETCore.Runtime.CoreCLR -> 5.0.0-alpha1.19429.5

…0822.3

- Microsoft.NET.Sdk.IL - 5.0.0-alpha1.19422.3
- Microsoft.NETCore.ILAsm - 5.0.0-alpha1.19422.3
- Microsoft.NETCore.Runtime.CoreCLR - 5.0.0-alpha1.19422.3
@dotnet-maestro
Copy link
Contributor Author

dotnet-maestro bot commented Aug 23, 2019

Auto-Merge Status

This pull request has not been merged because Maestro++ is waiting on the following merge policies.

  • All Checks Successful Unsuccessful checks: corefx-ci, corefx-ci (macOS Build x64_Debug)

…0823.9

- Microsoft.NET.Sdk.IL - 5.0.0-alpha1.19423.9
- Microsoft.NETCore.ILAsm - 5.0.0-alpha1.19423.9
- Microsoft.NETCore.Runtime.CoreCLR - 5.0.0-alpha1.19423.9
@stephentoub stephentoub reopened this Aug 24, 2019
…0824.2

- Microsoft.NET.Sdk.IL - 5.0.0-alpha1.19424.2
- Microsoft.NETCore.ILAsm - 5.0.0-alpha1.19424.2
- Microsoft.NETCore.Runtime.CoreCLR - 5.0.0-alpha1.19424.2
…0825.2

- Microsoft.NET.Sdk.IL - 5.0.0-alpha1.19425.2
- Microsoft.NETCore.ILAsm - 5.0.0-alpha1.19425.2
- Microsoft.NETCore.Runtime.CoreCLR - 5.0.0-alpha1.19425.2
@stephentoub
Copy link
Member

This is failing on macOS with:

  Process terminated. Infinite recursion during resource lookup within System.Private.CoreLib.  This may be a bug in System.Private.CoreLib, or potentially in certain extensibility points such as assembly resolve events or CultureInfo names.  Resource name: Arg_NullReferenceException
     at System.Environment.FailFast(System.String)
     at System.SR.InternalGetResourceString(System.String)
     at System.SR.GetResourceString(System.String, System.String)
     at System.SR.GetResourceString(System.String)
     at System.SR.get_Arg_NullReferenceException()
     at System.NullReferenceException..ctor()
     at System.RuntimeType+RuntimeTypeCache.ConstructName(System.String ByRef, System.TypeNameFormatFlags)
     at System.RuntimeType+RuntimeTypeCache.GetName(System.TypeNameKind)
     at System.RuntimeType.GetCachedName(System.TypeNameKind)
     at System.RuntimeType.get_Name()
     at System.Resources.ResourceManager..ctor(System.Type)
     at System.SR.get_ResourceManager()
     at System.SR.InternalGetResourceString(System.String)
     at System.SR.GetResourceString(System.String, System.String)
     at System.SR.GetResourceString(System.String)
     at System.SR.get_Arg_NullReferenceException()
     at System.NullReferenceException..ctor()
     at System.Resources.ResourceManager..cctor()
     at System.Runtime.CompilerServices.RuntimeHelpers._RunClassConstructor(System.RuntimeType)
     at System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor(System.RuntimeTypeHandle)
     at System.SR.InternalGetResourceString(System.String)
     at System.SR.GetResourceString(System.String, System.String)
     at System.SR.GetResourceString(System.String)
     at System.SR.get_Arg_NullReferenceException()
     at System.NullReferenceException..ctor()
     at System.SR.InternalGetResourceString(System.String)
     at System.SR.GetResourceString(System.String, System.String)
     at System.SR.GetResourceString(System.String)
     at System.SR.get_Arg_NullReferenceException()
     at System.NullReferenceException..ctor()
     at System.SR..cctor()
     at System.SR.InternalGetResourceString(System.String)
     at System.SR.GetResourceString(System.String, System.String)
     at System.SR.GetResourceString(System.String)
     at System.SR.get_Arg_NullReferenceException()
     at System.NullReferenceException..ctor()
     at System.Collections.Generic.NonRandomizedStringEqualityComparer..cctor()
     at System.Collections.Generic.NonRandomizedStringEqualityComparer.get_Default()
     at System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib, Version=5.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=5.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1<System.__Canon>)
     at System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib, Version=5.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=5.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]..ctor()
     at System.AppContext..cctor()
     at System.AppContext.Setup(Char**, Char**, Int32)
  /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/tmp38f4716dbdf94b1ab382132ebd4679b6.exec.cmd: line 2:  4270 Abort trap: 6           "/Users/vsts/agent/2.155.1/work/1/s/artifacts/bin/testhost/netcoreapp-OSX-Debug-x64/dotnet" --fx-version 5.0.0 /Users/vsts/agent/2.155.1/work/1/s/artifacts/bin/Microsoft.XmlSerializer.Generator.Tests/netcoreapp-Debug/dotnet-Microsoft.XmlSerializer.Generator.dll /Users/vsts/agent/2.155.1/work/1/s/artifacts/bin/Microsoft.XmlSerializer.Generator.Tests/netcoreapp-Debug/Microsoft.XmlSerializer.Generator.Tests.dll --force --quiet

@tarekgh, any ideas?

@dotnet-maestro
Copy link
Contributor Author

dotnet-maestro bot commented Aug 26, 2019

Auto-Merge Status

This pull request has not been merged because Maestro++ is waiting on the following merge policies.

  • All Checks Successful Unsuccessful checks: corefx-ci, corefx-ci (macOS Build x64_Debug)

@tarekgh
Copy link
Member

tarekgh commented Aug 26, 2019

@stephentoub this is usually something failed very early in the startup which preventing even the resources can initialize and run. looking at the stack,

System.Collections.Generic.NonRandomizedStringEqualityComparer..cctor()

is failing with null reference exception which looks what we need to know why this happened.

@dotnet-maestro
Copy link
Contributor Author

dotnet-maestro bot commented Aug 26, 2019

Auto-Merge Status

This pull request has not been merged because Maestro++ is waiting on the following merge policies.

  • All Checks Successful Unsuccessful checks: corefx-ci, corefx-ci (macOS Build x64_Debug)

@tarekgh
Copy link
Member

tarekgh commented Aug 26, 2019

is there easy way we can get the System.Private.Corelib.dll used there?

looks System.SR.get_Arg_NullReferenceException is returning null.

@dotnet-maestro
Copy link
Contributor Author

dotnet-maestro bot commented Aug 26, 2019

Auto-Merge Status

This pull request has not been merged because Maestro++ is waiting on the following merge policies.

  • All Checks Successful Unsuccessful checks: corefx-ci, corefx-ci (macOS Build x64_Debug)

…0826.3

- Microsoft.NET.Sdk.IL - 5.0.0-alpha1.19426.3
- Microsoft.NETCore.ILAsm - 5.0.0-alpha1.19426.3
- Microsoft.NETCore.Runtime.CoreCLR - 5.0.0-alpha1.19426.3
@stephentoub
Copy link
Member

is failing with null reference exception which looks what we need to know why this happened

You're right:

     at System.NullReferenceException..ctor()
     at System.Collections.Generic.NonRandomizedStringEqualityComparer..cctor()
     at System.Collections.Generic.NonRandomizedStringEqualityComparer.get_Default()
     at System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib, Version=5.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=5.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1<System.__Canon>)

The cctor just instantiates a default instance:
https://github.com/dotnet/coreclr/blob/b283f8c9833d9c38b4e21640c6aada16fd642bde/src/System.Private.CoreLib/shared/System/Collections/Generic/NonRandomizedStringEqualityComparer.cs#L17-L19
and the base doesn't do anything meaningful:
https://github.com/dotnet/coreclr/blob/b283f8c9833d9c38b4e21640c6aada16fd642bde/src/System.Private.CoreLib/shared/System/Collections/Generic/EqualityComparer.cs#L13
so it's strange for this to be null ref'ing.

And that this is only happening on macOS but not Linux nor Windows suggests something deeper.

@janvorli, any chance this has something to do with your recent PAL cleanup? (I'm completely guessing, as I don't have a mac with me at the moment to debug.)

cc: @jkotas

@dotnet-maestro
Copy link
Contributor Author

dotnet-maestro bot commented Aug 27, 2019

Auto-Merge Status

This pull request has not been merged because Maestro++ is waiting on the following merge policies.

  • All Checks Successful Unsuccessful checks: corefx-ci, corefx-ci (macOS Build x64_Debug)

@tarekgh
Copy link
Member

tarekgh commented Aug 27, 2019

@MattGal is there a way we can get the built corelib from the failed machine? this may give some clue.

@dotnet-maestro
Copy link
Contributor Author

dotnet-maestro bot commented Aug 27, 2019

Auto-Merge Status

This pull request has not been merged because Maestro++ is waiting on the following merge policies.

  • All Checks Successful Unsuccessful checks: corefx-ci, corefx-ci (macOS Build x64_Debug)

@stephentoub
Copy link
Member

stephentoub commented Aug 27, 2019

is there a way we can get the built corelib from the failed machine?

Doesn't need to come from a failing machine; it's just pulling down the package:

    <Dependency Name="Microsoft.NETCore.Runtime.CoreCLR" Version="5.0.0-alpha1.19426.3">
      <Uri>https://github.com/dotnet/coreclr</Uri>	      
      <Sha>3fc30525368908bbff06fa0c2743bb3b4b062c23</Sha>
    </Dependency>

which is from commit https://github.com/dotnet/coreclr/commits/3fc30525368908bbff06fa0c2743bb3b4b062c23. Since that's very recent and it's been failing deterministically with each update that's come in, I doubt it's specific to an issue with how the dll was built... it's most likely an issue with what's in coreclr master.

@dotnet-maestro
Copy link
Contributor Author

dotnet-maestro bot commented Aug 27, 2019

Auto-Merge Status

This pull request has not been merged because Maestro++ is waiting on the following merge policies.

  • All Checks Successful Unsuccessful checks: corefx-ci, corefx-ci (macOS Build x64_Debug)

@tarekgh
Copy link
Member

tarekgh commented Aug 27, 2019

I downloaded the package and I am not seeing anything strange as @stephentoub expected. but looking more at the failing stack, and I am seeing the first null throwing exception happened in the static constructor System.Collections.Generic.NonRandomizedStringEqualityComparer..cctor() and looking at the code, seeing this class is sub-classing System.Collections.Generic.EqualityComparer<T> which has the following static construction:

public static EqualityComparer<T> Default	{[Intrinsic] get; 	} = (EqualityComparer<T>)ComparerHelpers.CreateDefaultEqualityComparer(typeof(T));

Note typeof(T) which I think this is returning null. The reason I am saying that is, after this call we try to throw the exception and go to the resource manager to get the Null reference exception message, at that time the static constructor will be called to initialize the ResourceManager:

internal static ResourceManager ResourceManager => s_resourceManager ?? (s_resourceManager = new ResourceManager(typeof(Strings)));

and it has typeof(Strings) which I think it is returning null again and we'll repeat that till we fail fast. so, my guess it is something serious in the runtime side which make the type system maybe not fully initialized at the point it is called?

@dotnet-maestro
Copy link
Contributor Author

dotnet-maestro bot commented Aug 27, 2019

Auto-Merge Status

This pull request has not been merged because Maestro++ is waiting on the following merge policies.

  • All Checks Successful Unsuccessful checks: corefx-ci (macOS Build x64_Debug)

…0827.9

- Microsoft.NET.Sdk.IL - 5.0.0-alpha1.19427.9
- Microsoft.NETCore.ILAsm - 5.0.0-alpha1.19427.9
- Microsoft.NETCore.Runtime.CoreCLR - 5.0.0-alpha1.19427.9
@janvorli
Copy link
Member

I was able to repro the issue locally, I am looking into it.

@dotnet-maestro
Copy link
Contributor Author

dotnet-maestro bot commented Aug 28, 2019

Auto-Merge Status

This pull request has not been merged because Maestro++ is waiting on the following merge policies.

  • All Checks Successful Unsuccessful checks: corefx-ci, corefx-ci (macOS Build x64_Debug)

@janvorli
Copy link
Member

I have found the offending commit - it was my change to enable Mojave hardened runtime (again) dotnet/coreclr#26193. I am not sure what's wrong yet, I've just found it using bisection. Only a build of one of the tests seem to be failing, many other if not all other tests are built fine, so it seems like some subtle detail.

I am starting to look into it right away, it may be something trivial, so I'd prefer trying a bit instead of reverting that change immediatelly.

@dotnet-maestro
Copy link
Contributor Author

Auto-Merge Status

This pull request has not been merged because Maestro++ is waiting on the following merge policies.

  • All Checks Successful Unsuccessful checks: corefx-ci, corefx-ci (macOS Build x64_Debug)

@janvorli
Copy link
Member

It is also quite weird that it happens only with release build of coreclr. Debug or Checked builds work fine.

@dotnet-maestro
Copy link
Contributor Author

dotnet-maestro bot commented Aug 28, 2019

Auto-Merge Status

This pull request has been merged because the following merge policies have succeeded.

  • ✔️ All Checks Successful Succeeded - Successful checks: corefx-ci, corefx-ci (Linux Build musl_x64_Debug), corefx-ci (macOS Build x64_Debug), corefx-ci (Linux Build x64_Debug), corefx-ci (Linux Build RedHat6_x64_Release), corefx-ci (Linux Build arm64_Debug), corefx-ci (Linux Build musl_arm64_Debug), corefx-ci (Linux Build arm_Debug), corefx-ci (Windows Build UWP_CoreCLR_x64_Debug), corefx-ci (Windows Build NETFX_x86_Release), corefx-ci (Windows Packaging All Configurations x64_Debug), corefx-ci (Windows Build x86_Release), corefx-ci (Windows Build x64_Debug)

…0828.7

- Microsoft.NET.Sdk.IL - 5.0.0-alpha1.19428.7
- Microsoft.NETCore.ILAsm - 5.0.0-alpha1.19428.7
- Microsoft.NETCore.Runtime.CoreCLR - 5.0.0-alpha1.19428.7
…0829.5

- Microsoft.NET.Sdk.IL - 5.0.0-alpha1.19429.5
- Microsoft.NETCore.ILAsm - 5.0.0-alpha1.19429.5
- Microsoft.NETCore.Runtime.CoreCLR - 5.0.0-alpha1.19429.5
@dotnet-maestro dotnet-maestro bot merged commit d79d67a into master Aug 30, 2019
@dotnet-maestro dotnet-maestro bot deleted the darc-master-5afeaead-40b0-4713-b78a-41ea5416a8e1 branch August 30, 2019 14:01
@stephentoub
Copy link
Member

Thanks, @janvorli.

@karelz karelz added this to the 5.0 milestone Dec 19, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants