Skip to content

[ci-scan] Test failure: COM Dynamic finalizer double-unadvises connection point #132947

Closed

Description

@awakecoding

Important

The submitting account does not have permission to apply upstream labels. The area label was assigned automatically; a maintainer still needs to add Known Build Error, blocking-clean-ci, os-windows, and arch-x64 for Build Analysis to recognize this issue.

Build Information

Build: https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_build/results?buildId=1573972
Build error leg or test failing: coreclr windows x64 Checked no_tiered_compilation @ Windows.Amd64.Open.rt - Interop/COM/Dynamic/Dynamic/Dynamic.cmd
Pull request: #132922

KBE authoring guidance (ci-failure-scan)
  • Error Details is for readers. The exception and stack trace below are copied from the Helix console log.
  • Build Analysis parses only the single JSON block under Error Message.
  • ErrorMessage is a case-sensitive ordinal String.Contains substring copied verbatim from the failing log.
  • BuildRetry is false because this is a product/test cleanup race rather than an infrastructure failure.
  • ExcludeConsoleLog is false because the assertion is present in the Helix console log.

Error Details

Process terminated.
Assertion failed.
Can not unadvise from empty connection point
   at System.Runtime.InteropServices.ComEventsSink.Unadvise() in /_/src/libraries/Common/src/System/Runtime/InteropServices/ComEventsSink.cs:line 261
   at System.Runtime.InteropServices.ComEventsSink.RemoveAll(ComEventsSink sinks) in /_/src/libraries/Common/src/System/Runtime/InteropServices/ComEventsSink.cs:line 50
   at Microsoft.CSharp.RuntimeBinder.ComInterop.ComEventSinksContainer.DisposeAll() in /_/src/libraries/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/ComInterop/ComEventSinksContainer.cs:line 65
   at Microsoft.CSharp.RuntimeBinder.ComInterop.ComEventSinksContainer.Finalize() in /_/src/libraries/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/ComInterop/ComEventSinksContainer.cs:line 71
   at System.GC.RunFinalizers()

The finalizer attempted to call RemoveAll after the event sink had already been unadvised. Build Analysis reports a 0.03% failure rate for this test. The PR that encountered the failure changes NativeAOT/ReadyToRun dependency-analysis tooling and does not modify the runtime, Microsoft.CSharp COM binder, or this test.

Error Message

{
  "ErrorMessage": "Can not unadvise from empty connection point",
  "ErrorPattern": "",
  "BuildRetry": false,
  "ExcludeConsoleLog": false
}
Agentic workflow metadata (ci-failure-scan)

Workflow artifact: ci-failure-scan
Artifact kind: kbe-verification
Verified match count: 2 hits in failure.log

Note

This issue draft was prepared with GitHub Copilot assistance and reviewed before submission.

Known issue validation

Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=1573972
Error message validated: [Can not unadvise from empty connection point]
Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 8/31/2026 6:08:08 AM UTC

Report

Build Repository Test Pull Request
1577318 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132978
1577089 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #133002
1578006 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #133040
1577740 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #133042
1577678 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132861
1577658 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132732
1577635 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #133040
1577705 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #133049
1577580 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #133044
1577535 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #131877
1577514 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #133038
1577520 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132970
1577448 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #133039
1577470 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132932
1577425 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132900
1577424 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132923
1577421 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132420
1577406 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132489
1577377 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132898
1577253 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132973
1577221 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132419
1577232 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #133028
1577119 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132787
1577029 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132986
1577000 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #130805
1576957 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #133023
1576853 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132970
1576754 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #133014
1576415 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #133000
1576377 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132999
1576312 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132117
1576150 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132981
1576162 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132260
1575999 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #130842
1575934 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132978
1575864 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #129683
1575857 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132955
1575846 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132989
1575801 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132420
1575198 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132809
1575681 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132958
1575675 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132814
1575616 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132986
1575548 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #131877
1575536 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132787
1575506 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132584
1575486 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132419
1575479 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132973
1575468 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132981
1575443 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132887
1575423 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #130723
1575374 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132978
1575079 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132969
1575058 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132970
1574847 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132962
1574822 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132787
1574762 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132965
1574742 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #131877
1574661 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132689
1574647 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132963
1574588 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132958
1574574 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132962
1574571 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132592
1574555 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132821
1574299 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132735
1573972 dotnet/runtime Interop/COM/Dynamic/Dynamic/Dynamic.cmd #132922

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
1 66 66

Activity

  1. dotnet-policy-service commented on Aug 30, 2026

    @dotnet-policy-service
    Contributor

    Tagging subscribers to this area: @dotnet/interop-contrib
    See info in area-owners.md if you want to be subscribed.

  2. added
    blocking-clean-ciBlocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'
    Known Build ErrorUse this to report build issues in the .NET Helix tab
    on Aug 31, 2026
  3. AaronRobinsonMSFT commented on Sep 1, 2026

    @AaronRobinsonMSFT
    Member

    @jkoritzinsky Can you take a look at this?

  4. agocke commented on Sep 1, 2026

    @agocke
    Member

    This started happening immediately after moving to new ci machines. It's likely an issue exposed by timing. I wonder if it's just an invalid assert

  5. self-assigned this
    on Sep 2, 2026
  6. jkoritzinsky commented on Sep 2, 2026

    @jkoritzinsky
    Member

    I took a look, figured out how to make the failure deterministic, and determined that the assert is invalid. Putting up a PR with the updated tests and fix.

  7. locked and limited conversation to collaborators on Oct 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

  • Status
    No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions