Skip to content

Assert failure: pMD->IsCtor() #114933

Closed
@BruceForstall

Description

@BruceForstall

Running 'PMI' on Dia2Lib.dll hits an assert. This causes the runtime superpmi-collect to fail the SuperPMI 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/runtime artifacts/tests/coreclr/linux.x64.Checked/Tests/Core_Root directory:

~/gh/runtime/artifacts/tests/coreclr/linux.x64.Checked/Tests/Core_Root$ ./corerun ~/gh/jitutils/bin/pmi.dll DRIVEALL Dia2Lib.dll
DRIVEALL: Invoking /home/brucefo/gh/runtime/artifacts/tests/coreclr/linux.x64.Checked/Tests/Core_Root/corerun /home/brucefo/gh/jitutils/bin/pmi.dll PREPALL Dia2Lib.dll 0
PrepAll for Dia2Lib
Start type Dia2Lib.DiaSourceClass
PREPALL type# 0 method# 0 Dia2Lib.DiaSourceClass::get_lastError
Assert failure(PID 71552 [0x00011780], Thread: 71552 [0x11780]): pMD->IsCtor()    File: /home/brucefo/gh/runtime/src/coreclr/vm/ecall.cpp:350    Image: /home/brucefo/gh/runtime/artifacts/tests/coreclr/linux.x64.Checked/Tests/Core_Root/corerun
Current Method: 0 nextMethodToPrep: 1
DRIVEALL: Invoking /home/brucefo/gh/runtime/artifacts/tests/coreclr/linux.x64.Checked/Tests/Core_Root/corerun /home/brucefo/gh/jitutils/bin/pmi.dll PREPALL Dia2Lib.dll 2
PrepAll for Dia2Lib
Start type Dia2Lib.DiaSourceClass
PREPALL type# 0 method# 2 Dia2Lib.DiaSourceClass::loadAndValidateDataFromPdb
Assert failure(PID 71568 [0x00011790], Thread: 71568 [0x11790]): pMD->IsCtor()    File: /home/brucefo/gh/runtime/src/coreclr/vm/ecall.cpp:350    Image: /home/brucefo/gh/runtime/artifacts/tests/coreclr/linux.x64.Checked/Tests/Core_Root/corerun
Current Method: 2 nextMethodToPrep: 3
DRIVEALL: Invoking /home/brucefo/gh/runtime/artifacts/tests/coreclr/linux.x64.Checked/Tests/Core_Root/corerun /home/brucefo/gh/jitutils/bin/pmi.dll PREPALL Dia2Lib.dll 4
PrepAll for Dia2Lib
Start type Dia2Lib.DiaSourceClass
PREPALL type# 0 method# 4 Dia2Lib.DiaSourceClass::loadDataFromIStream
Assert failure(PID 71579 [0x0001179b], Thread: 71579 [0x1179b]): pMD->IsCtor()    File: /home/brucefo/gh/runtime/src/coreclr/vm/ecall.cpp:350    Image: /home/brucefo/gh/runtime/artifacts/tests/coreclr/linux.x64.Checked/Tests/Core_Root/corerun
Current Method: 4 nextMethodToPrep: 5
DRIVEALL: Invoking /home/brucefo/gh/runtime/artifacts/tests/coreclr/linux.x64.Checked/Tests/Core_Root/corerun /home/brucefo/gh/jitutils/bin/pmi.dll PREPALL Dia2Lib.dll 6
PrepAll for Dia2Lib
Start type Dia2Lib.DiaSourceClass
PREPALL type# 0 method# 6 Dia2Lib.DiaSourceClass::loadDataFromCodeViewInfo
Assert failure(PID 71590 [0x000117a6], Thread: 71590 [0x117a6]): pMD->IsCtor()    File: /home/brucefo/gh/runtime/src/coreclr/vm/ecall.cpp:350    Image: /home/brucefo/gh/runtime/artifacts/tests/coreclr/linux.x64.Checked/Tests/Core_Root/corerun
Current Method: 6 nextMethodToPrep: 7
DRIVEALL: Invoking /home/brucefo/gh/runtime/artifacts/tests/coreclr/linux.x64.Checked/Tests/Core_Root/corerun /home/brucefo/gh/jitutils/bin/pmi.dll PREPALL Dia2Lib.dll 8
PrepAll for Dia2Lib
Start type Dia2Lib.DiaSourceClass
PREPALL type# 0 method# 8 Dia2Lib.DiaSourceClass::IDiaDataSource3_get_lastError
Assert failure(PID 71602 [0x000117b2], Thread: 71602 [0x117b2]): pMD->IsCtor()    File: /home/brucefo/gh/runtime/src/coreclr/vm/ecall.cpp:350    Image: /home/brucefo/gh/runtime/artifacts/tests/coreclr/linux.x64.Checked/Tests/Core_Root/corerun
Current Method: 8 nextMethodToPrep: 9
DRIVEALL: Invoking /home/brucefo/gh/runtime/artifacts/tests/coreclr/linux.x64.Checked/Tests/Core_Root/corerun /home/brucefo/gh/jitutils/bin/pmi.dll PREPALL Dia2Lib.dll 10
PrepAll for Dia2Lib
Start type Dia2Lib.DiaSourceClass
PREPALL type# 0 method# 10 Dia2Lib.DiaSourceClass::IDiaDataSource3_loadAndValidateDataFromPdb
Assert failure(PID 71614 [0x000117be], Thread: 71614 [0x117be]): pMD->IsCtor()    File: /home/brucefo/gh/runtime/src/coreclr/vm/ecall.cpp:350    Image: /home/brucefo/gh/runtime/artifacts/tests/coreclr/linux.x64.Checked/Tests/Core_Root/corerun
Current Method: 10 nextMethodToPrep: 11

@dotnet/jit-contrib

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    No status

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions