Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Throw the right exception when interface dispatch is ambiguous #22295

Merged

Conversation

@MichalStrehovsky
Copy link
Member

MichalStrehovsky commented Jan 30, 2019

Throw the approved exception per dotnet/corefx#34124.

Throw the approved exception per dotnet/corefx#34124.
@MichalStrehovsky MichalStrehovsky added this to TODO in Default Interface Methods via automation Jan 30, 2019
@MichalStrehovsky

This comment has been minimized.

Copy link
Member Author

MichalStrehovsky commented Jan 30, 2019

@jkotas
jkotas approved these changes Jan 30, 2019
@jkotas

This comment has been minimized.

Copy link
Member

jkotas commented Jan 30, 2019

Do we need to update tests to check for this?

@MichalStrehovsky

This comment has been minimized.

Copy link
Member Author

MichalStrehovsky commented Jan 30, 2019

Do we need to update tests to check for this?

My plan was to find the test that fails and fix that one (I don't know where are the tests for this is, but I know we have at least one). If nothing fails in the CI, I'll go dig it out.

@MichalStrehovsky MichalStrehovsky moved this from TODO to In Progress in Default Interface Methods Jan 30, 2019
@MichalStrehovsky

This comment has been minimized.

Copy link
Member Author

MichalStrehovsky commented Feb 1, 2019

Windows_NT x64 Checked CoreFX Tests fails with:

Starting:    System.Text.Encoding.Tests

Assert failure(PID 8936 [0x000022e8], Thread: 2724 [0x0aa4]): Precondition failure: FAILED: pParentData == 0 || (pMT->ParentEquals(pParentData->GetDeclMethodTable()) && pMT->ParentEquals(pParentData->GetImplMethodTable()))

CORECLR! CHECK::Trigger + 0x2C4 (0x00007ffb`c957cf94)
CORECLR! MethodTable::MethodDataObject::Init + 0x67A (0x00007ffb`c9a5cc02)
CORECLR! MethodTable::GetMethodDataHelper + 0x642 (0x00007ffb`c9a53d0a)
CORECLR! MethodTable::GetMethodData + 0xDE (0x00007ffb`c9a53126)
CORECLR! MethodTable::MethodIterator::Init + 0x3CB (0x00007ffb`c9a5d01b)
CORECLR! MethodTable::MethodIterator::MethodIterator + 0x11 (0x00007ffb`c9a3d321)
CORECLR! MethodTableBuilder::ImportParentMethods + 0x137 (0x00007ffb`c9c395fb)
CORECLR! MethodTableBuilder::BuildMethodTableThrowing + 0x14AD (0x00007ffb`c9c28111)
CORECLR! ClassLoader::CreateTypeHandleForTypeDefThrowing + 0x113F (0x00007ffb`c9c2dffb)
CORECLR! ClassLoader::CreateTypeHandleForTypeKey + 0x444 (0x00007ffb`c979eb98)
    File: d:\j\workspace\x64_checked_w---43686a05\src\vm\methodtable.cpp Line: 8447
    Image: D:\j\workspace\x64_checked_w---43686a05\bin\tests\Windows_NT.x64.Checked\testhost\dotnet.exe

Finished:    System.Net.Http.Functional.Tests

Is this known?

@jkotas

This comment has been minimized.

Copy link
Member

jkotas commented Feb 1, 2019

I have not seen this before.

@MichalStrehovsky

This comment has been minimized.

Copy link
Member Author

MichalStrehovsky commented Feb 2, 2019

@dotnet-bot test Windows_NT x64 Checked CoreFX Tests

@MichalStrehovsky

This comment has been minimized.

Copy link
Member Author

MichalStrehovsky commented Feb 3, 2019

I have not seen this before.

Seems intermittent. FWIW, filed #22382. I don't see how it could be related/caused by this check in.

@MichalStrehovsky MichalStrehovsky merged commit bbd7905 into dotnet:master Feb 3, 2019
25 checks passed
25 checks passed
CentOS7.1 x64 Checked Innerloop Build and Test Build finished.
Details
CentOS7.1 x64 Debug Innerloop Build Build finished.
Details
Linux-musl x64 Debug Build Build finished.
Details
OSX10.12 x64 Checked Innerloop Build and Test Build finished.
Details
Ubuntu arm Cross Checked crossgen_comparison Build and Test Build finished.
Details
Ubuntu arm Cross Release crossgen_comparison Build and Test Build finished.
Details
Ubuntu x64 Checked CoreFX Tests Build finished.
Details
Ubuntu x64 Checked Innerloop Build and Test Build finished.
Details
Ubuntu x64 Checked Innerloop Build and Test (Jit - TieredCompilation=0) Build finished.
Details
Ubuntu x64 Formatting Build finished.
Details
WIP Ready for review
Details
Windows_NT x64 Checked CoreFX Tests Build finished.
Details
Windows_NT x64 Checked Innerloop Build and Test Build finished.
Details
Windows_NT x64 Checked Innerloop Build and Test (Jit - TieredCompilation=0) Build finished.
Details
Windows_NT x64 Formatting Build finished.
Details
Windows_NT x64 Release CoreFX Tests Build finished.
Details
Windows_NT x64 full_opt ryujit CoreCLR Perf Tests Correctness Build finished.
Details
Windows_NT x64 min_opt ryujit CoreCLR Perf Tests Correctness Build finished.
Details
Windows_NT x86 Checked Innerloop Build and Test Build finished.
Details
Windows_NT x86 Checked Innerloop Build and Test (Jit - TieredCompilation=0) Build finished.
Details
Windows_NT x86 Release Innerloop Build and Test Build finished.
Details
Windows_NT x86 full_opt ryujit CoreCLR Perf Tests Correctness Build finished.
Details
Windows_NT x86 min_opt ryujit CoreCLR Perf Tests Correctness Build finished.
Details
coreclr-ci Build #20190201.77 succeeded
Details
license/cla All CLA requirements met.
Details
Default Interface Methods automation moved this from In Progress to Done Feb 3, 2019
@MichalStrehovsky MichalStrehovsky deleted the MichalStrehovsky:resolutionException branch Feb 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants
You can’t perform that action at this time.