Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Update CoreClr, CoreFx, CoreSetup, ProjectNTfs, ProjectNTfsTestILC to preview1-26628-04, preview1-26628-03, preview1-26628-01, beta-26628-00, beta-26628-00, respectively (master)#30725

Closed
dotnet-maestro-bot wants to merge 2 commits intodotnet:masterfrom
dotnet-maestro-bot:master-UpdateDependencies

Conversation

@dotnet-maestro-bot
Copy link

No description provided.

… preview1-26628-04, preview1-26628-03, preview1-26628-01, beta-26628-00, beta-26628-00, respectively
@stephentoub
Copy link
Member

@luqunl, looks like a corefx update is needed to match a coreclr change?

System\Runtime\InteropServices\WindowsRuntime\MarshalingHelpers.cs(313,65): error CS1061: 'EventRegistrationTokenTable<NotifyCollectionChangedEventHandler>' does not contain a definition for 'ExtractHandler' and no extension method 'ExtractHandler' accepting a first argument of type 'EventRegistrationTokenTable<NotifyCollectionChangedEventHandler>' could be found (are you missing a using directive or an assembly reference?) [D:\j\workspace\windows-TGrou---74aa877a\src\System.Runtime.WindowsRuntime\src\System.Runtime.WindowsRuntime.csproj]
System\Runtime\InteropServices\WindowsRuntime\MarshalingHelpers.cs(395,57): error CS1061: 'EventRegistrationTokenTable<PropertyChangedEventHandler>' does not contain a definition for 'ExtractHandler' and no extension method 'ExtractHandler' accepting a first argument of type 'EventRegistrationTokenTable<PropertyChangedEventHandler>' could be found (are you missing a using directive or an assembly reference?) [D:\j\workspace\windows-TGrou---74aa877a\src\System.Runtime.WindowsRuntime\src\System.Runtime.WindowsRuntime.csproj]
System\Runtime\InteropServices\WindowsRuntime\MarshalingHelpers.cs(503,42): error CS1061: 'EventRegistrationTokenTable<EventHandler>' does not contain a definition for 'ExtractHandler' and no extension method 'ExtractHandler' accepting a first argument of type 'EventRegistrationTokenTable<EventHandler>' could be found (are you missing a using directive or an assembly reference?) [D:\j\workspace\windows-TGrou---74aa877a\src\System.Runtime.WindowsRuntime\src\System.Runtime.WindowsRuntime.csproj]

@luqunl
Copy link
Contributor

luqunl commented Jun 28, 2018

@stephentoub, I am working on it.

@luqunl
Copy link
Contributor

luqunl commented Jun 28, 2018

@jkotas
Copy link
Member

jkotas commented Jun 28, 2018

@AndyAyersMS Microsoft.CSharp.Tests are failing on Unix. dotnet/coreclr#18563 looks like the most likely source of the regression. Could you please take a look?

The failing test case has struct like this:

private struct ImplementingStruct : IInterface
{
}

@dotnet-maestro-bot
Copy link
Author

Couldn't update this pull request: Head commit author 'luqunl' is not 'dotnet-maestro-bot'
Would have applied 'Update BuildTools, CoreClr, CoreFx, CoreSetup, ProjectNTfs, ProjectNTfsTestILC to preview1-02928-02, preview1-26628-04, preview1-26628-03, preview1-26628-03, beta-26628-00, beta-26628-00, respectively'

@AndyAyersMS
Copy link
Member

Sure, I'll take a look.

@AndyAyersMS
Copy link
Member

Still working on getting a repro...

@dotnet-maestro-bot
Copy link
Author

Couldn't update this pull request: Head commit author 'luqunl' is not 'dotnet-maestro-bot'
Would have applied 'Update BuildTools, CoreClr, CoreFx, CoreSetup, ProjectNTfs, ProjectNTfsTestILC to preview1-02928-02, preview1-26629-01, preview1-26628-03, preview1-26628-03, beta-26628-00, beta-26628-00, respectively'

@AndyAyersMS
Copy link
Member

Still no luck with a repro ... will keep trying.

  • Built both CoreCLR & CoreFX on OSX and swapped in the new jit and ran the CSharp Tests
  • Extracted the failing tests into a standalone app and they likewise pass under corerun on OSX
  • MC repro tool creation fails for me with assert so no luck trying that that yet
  • Am rebuilding my Ubuntu environment now

@dotnet-maestro-bot
Copy link
Author

Couldn't update this pull request: Head commit author 'luqunl' is not 'dotnet-maestro-bot'
Would have applied 'Update BuildTools, CoreClr, CoreFx, CoreSetup, ProjectNTfs, ProjectNTfsTestILC to preview1-02929-01, preview1-26629-01, preview1-26628-03, preview1-26628-03, beta-26628-00, beta-26628-00, respectively'

@AndyAyersMS
Copy link
Member

Looks like I finally have a repro on ubuntu now. Will update when I know more.

@dotnet-maestro-bot
Copy link
Author

Couldn't update this pull request: Head commit author 'luqunl' is not 'dotnet-maestro-bot'
Would have applied 'Update BuildTools, CoreClr, CoreFx, CoreSetup, ProjectNTfs, ProjectNTfsTestILC to preview1-02929-01, preview1-26629-01, preview1-26628-03, preview1-26628-03, beta-26629-00, beta-26629-00, respectively'

@AndyAyersMS
Copy link
Member

Looks like the issue is that a struct with no fields (and hence has nominal size 1 byte) is classified as something that can't be returned in registers by ClassifyEightBytesWithManagedLayout

https://github.com/dotnet/coreclr/blob/1ad9c94ef5e541e9c8ac29606515d6f54e0e445c/src/vm/methodtable.cpp#L2323-L2328

The changes in #18563 introduced a preference for size-based return classification and so now return that struct in a register. So we have a calling convention mismatch. This impacts the CSharp tests as they have a struct with no fields; the codegen diverges in CallSite.Target.

It's probably best to fix this in the jit as it appears there are other cases where the calling convention we use can disagree with a sized-based approach.

@dotnet-maestro-bot
Copy link
Author

Couldn't update this pull request: Head commit author 'luqunl' is not 'dotnet-maestro-bot'
Would have applied 'Update BuildTools, CoreClr, CoreFx, CoreSetup, ProjectNTfs, ProjectNTfsTestILC to preview1-02929-01, preview1-26629-04, preview1-26628-03, preview1-26629-02, beta-26629-00, beta-26629-00, respectively'

@luqunl
Copy link
Contributor

luqunl commented Jun 29, 2018

@jkotas, Will we start a new PR to include AndyAyersMS coreclr fix?

@jkotas
Copy link
Member

jkotas commented Jun 29, 2018

Right

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants