-
Notifications
You must be signed in to change notification settings - Fork 5k
Assert failure: pMD->IsCtor() #114933
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
Comments
Tagging subscribers to this area: @mangod9 |
I see what is going on here, but it involves the application of @jkotas Can you shed some light on the code path below? The path is being taken for a non-ctor runtime/src/coreclr/vm/ecall.cpp Lines 339 to 354 in 5d3fe14
|
Just to be clear, this seems to work if I remove the assert. I'm unclear why this work at all since this is always returning |
What's the stacktrace of the failure? Regular interface methods are abstract. They do not have an implementation, and no code should be asking for the implementation. I think that the problem is somewhere in the code that ends up calling this method. |
If this is hit on Linux only, it is likely inconsistent FEATURE_COMINTEROP ifdefs. We have the whole special handling ifdefed out here: runtime/src/coreclr/vm/methodtablebuilder.cpp Lines 3163 to 3178 in 5d3fe14
|
Right, I see the issue now. Thanks. |
@BruceForstall This is an invalid codepath on non-Windows. PMI is attempting to generate methods for a COM activation class (i.e.
|
Tagging subscribers to this area: @dotnet/interop-contrib |
A way to detect this case would be to look for classes that are marked with |
PMI generally handles thrown exceptions fine, and we don't really expect a PMI run to be clean of exceptions. But assertions cause more problems, and are unexpected. It looks like #115009 will fix the problem for us. |
Ah. That is a very helpful detail, thanks. |
Running 'PMI' on Dia2Lib.dll hits an assert. This causes the
runtime superpmi-collect
to fail theSuperPMI collect libraries pmi linux x64 checked
collection job:https://dev.azure.com/dnceng/internal/_build/results?buildId=2692581&view=logs&j=5562265b-363f-5c64-5cff-7b508c285721
To repro, build the https://github.com/dotnet/jitutils repo (clone, then run
./bootstrap.sh
). Then, from a dotnet/runtimeartifacts/tests/coreclr/linux.x64.Checked/Tests/Core_Root
directory:@dotnet/jit-contrib
The text was updated successfully, but these errors were encountered: