Skip to content

Contract violation in SetupOleContext #114372

Closed
@filipnavara

Description

@filipnavara

I was running an Benchmark.NET sample with debug build of the runtime and pressed Ctrl-C:

Assert failure(PID 35636 [0x00008b34], Thread: 37488 [0x9270]): CONTRACT VIOLATION by SetupOleContext at "D:\runtime\src\coreclr\vm\olecontexthelpers.cpp":41

GC_TRIGGERS encountered in a GC_NOTRIGGER scope

                        CONTRACT in SetupOleContext at "D:\runtime\src\coreclr\vm\olecontexthelpers.cpp":41
                        CONTRACT in StubHelpers::GetCOMIPFromRCW at "D:\runtime\src\coreclr\vm\stubhelpers.cpp":261

We can't find the violated contract. Look for an old-style non-holder-based contract.


CORECLR! CONTRACT_ASSERT + 0x38B (0x72aa3c0b)
CORECLR! EEContract::DoChecks + 0x28C (0x72feb36c)
CORECLR! SetupOleContext + 0x231 (0x73361ac1)
CORECLR! GetOrCreateOleTlsData + 0x1F (0x7321d9ff)
CORECLR! GetCOMIPFromRCW_GetIUnknownFromRCWCache + 0x19 (0x7321d4c9)
CORECLR! StubHelpers::GetCOMIPFromRCW + 0x326 (0x7321d306)
SYSTEM.PRIVATE.CORELIB! <no symbol> + 0x0 (0x71966fb8)
<no module>! <no symbol> + 0x0 (0x0c25fc28)
<no module>! <no symbol> + 0x0 (0x0c25fbe2)
<no module>! <no symbol> + 0x0 (0x121a237d)
    File: D:\runtime\src\coreclr\vm\olecontexthelpers.cpp:41
    Image: D:\runtime\artifacts\tests\coreclr\windows.x86.Debug\Tests\Core_Root\corerun.exe

I'm not sure if this is an actual error but it's reproducible.

Metadata

Metadata

Type

No type

Projects

Status

No status

Relationships

None yet

Development

No branches or pull requests

Issue actions