You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[CI Failure] Flaky: AspireRabbitMQLoggingTests.TestExceptionWithoutInnerException fails with empty collection #18801
Build: https://github.com/microsoft/aspire/actions/runs/29456677302
Build error leg or test failing: Tests / RabbitMQ.Client.v6 / RabbitMQ.Client.v6 (windows-latest) / Aspire.RabbitMQ.Client.Tests.AspireRabbitMQLoggingTests.TestExceptionWithoutInnerException
Pull request: #18799
Error Message
Assert.Single() Failure: The collection was empty
at Aspire.RabbitMQ.Client.Tests.AspireRabbitMQLoggingTests.TestExceptionWithoutInnerException() in /_/tests/Aspire.RabbitMQ.Client.Tests/AspireRabbitMQLoggingTests.cs:line 164
Description
Flaky: AspireRabbitMQLoggingTests.TestExceptionWithoutInnerException fails with empty collection
I suggest closing this as obsolete. The failing leg no longer exists, and there is no recorded or reproducible recurrence on the current code.
Evidence
The failing leg was removed. The only occurrence (run 29456677302, 2026-07-15) was in Tests / RabbitMQ.Client.v6 (windows-latest), which ran the shared AspireRabbitMQLoggingTests against RabbitMQ.Client 6.x through the #if RABBITMQ_V6 code paths. Remove Aspire.RabbitMQ.Client.v6 and Aspire.MongoDB.Driver.v2 #20608 (9365348, 2026-09-30) deleted the Aspire.RabbitMQ.Client.v6 package, its test project, and all RABBITMQ_V6 branches. The remaining test runs only against RabbitMQ.Client 7.2.2.
The original diagnostics are gone. The job log and test-result artifacts for run 29456677302 have expired (GET .../jobs/87491646494/logs returns HTTP 410). The CI shepherd's watch on this issue recorded no second occurrence in the 3.5 months since.
No local reproduction on current main (8487570): 40 consecutive bounded runs of the full Aspire.RabbitMQ.Client.Tests suite (net10.0 and net11.0, 98 tests per run) all passed, which is 80 executions of TestExceptionWithoutInnerException. Only the Docker-dependent EndToEndLoggingTest was excluded, because this environment has no Docker.
Code analysis. I looked for a shared-code cause that could still affect v7. The one candidate is a theoretical construction race in RabbitMQEventSourceListener:
The base EventListener constructor releases EventListenersLock before the derived constructor assigns _log and replays _eventSources.
An EventSource first created on another thread inside that window could be queued after the replay and never enabled.
The window is only a few instructions wide, though. A 2000-iteration stress test that raced Start() against creating a fresh rabbitmq-client EventSource missed 0 events. And TestExceptionWithoutInnerException itself first touches the event source afterStart(). So I can't attribute this failure to that race, and I'm not proposing a speculative change.
If the test fails again on v7, please reopen with the new run and I'll take it from there.
Closure recommendation: no recurrence in 7 days of CI
Window: ci.yml attempt-1 runs from 2026-10-25T10:57Z to 2026-11-01T09:51Z (824 runs). I grepped every failed test-job log in that window (968 of 968 downloaded).
Test: AspireRabbitMQLoggingTests.TestExceptionWithoutInnerException. It's a plain [Fact], still present on main (1bccada).
RabbitMQ.Client lane jobs: main 63 Linux / 63 Windows, PR 70 Linux / 70 Windows, plus 4+4 RabbitMQ.Client.v6 jobs.
Failures: 0.
Last recorded occurrence: 2026-07-15, run 29456677302.
Fixing PR: none identified.
I recommend closing this. Reopen it if the signature comes back.
Activity
radical commentedon Aug 29, 2026
[automated] The CI shepherd is watching this failure.
Current assessment: Watch this single-test-occurrence for another independent failure of the same test on a different day.
Evidence reviewed:
Evidence still needed:
Reassess when: After another independent failure of the same test on a different day or positive recovery.
No quarantine, retry, closure, or investigation has been started.
davidfowl commentedon Oct 31, 2026
I suggest closing this as obsolete. The failing leg no longer exists, and there is no recorded or reproducible recurrence on the current code.
Evidence
Tests / RabbitMQ.Client.v6 (windows-latest), which ran the sharedAspireRabbitMQLoggingTestsagainst RabbitMQ.Client 6.x through the#if RABBITMQ_V6code paths. Remove Aspire.RabbitMQ.Client.v6 and Aspire.MongoDB.Driver.v2 #20608 (9365348, 2026-09-30) deleted theAspire.RabbitMQ.Client.v6package, its test project, and allRABBITMQ_V6branches. The remaining test runs only against RabbitMQ.Client 7.2.2.GET .../jobs/87491646494/logsreturns HTTP 410). The CI shepherd's watch on this issue recorded no second occurrence in the 3.5 months since.main(8487570): 40 consecutive bounded runs of the fullAspire.RabbitMQ.Client.Testssuite (net10.0 and net11.0, 98 tests per run) all passed, which is 80 executions ofTestExceptionWithoutInnerException. Only the Docker-dependentEndToEndLoggingTestwas excluded, because this environment has no Docker.Code analysis. I looked for a shared-code cause that could still affect v7. The one candidate is a theoretical construction race in
RabbitMQEventSourceListener:EventListenerconstructor releasesEventListenersLockbefore the derived constructor assigns_logand replays_eventSources.The window is only a few instructions wide, though. A 2000-iteration stress test that raced
Start()against creating a freshrabbitmq-clientEventSource missed 0 events. AndTestExceptionWithoutInnerExceptionitself first touches the event source afterStart(). So I can't attribute this failure to that race, and I'm not proposing a speculative change.If the test fails again on v7, please reopen with the new run and I'll take it from there.
🤖 Posted by AspireAgent (AI Agent)
davidfowl commentedon Nov 1, 2026
Closure recommendation: no recurrence in 7 days of CI
AspireRabbitMQLoggingTests.TestExceptionWithoutInnerException. It's a plain[Fact], still present on main (1bccada).I recommend closing this. Reopen it if the signature comes back.
🤖 Posted by AspireAgent (AI Agent)