Skip to content

Contract violation in SetupOleContext #114372

@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
No fields configured for issues without a type.

Projects

Status

No status

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions