[test failure] TestCounterMonitorSystemRuntimeMetricsCSV intermittently fails: System.IO.EndOfStreamException : Attempted to read past the end of the stream.
- Dominant language
- C++
- Stars
- 1.3k
- Forks
- 404
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 38
Description
Failing test: `TestCounterMonitorSystemRuntimeMetricsCSV`
Environment: Ubuntu_22_04_x64_Release
Intermittent - seems like it may be a race condition in stopping processing:
```
System.InvalidOperationException : End of stream\n---- System.IO.EndOfStreamException : Attempted to read past the end of the stream.
at Microsoft.Diagnostics.Monitoring.EventPipe.EventPipeStreamProvider.ProcessEvents(DiagnosticsClient client, TimeSpan duration, Boolean resumeRuntime, CancellationToken cancellationToken) in /__w/1/s/src/Microsoft.Diagnostics.Monitoring.EventPipe/EventPipeStreamProvider.cs:line 86
at Microsoft.Diagnostics.Monitoring.EventPipe.DiagnosticsEventPipeProcessor.<>c__DisplayClass11_0.<b__1>d.MoveNext() in /__w/1/s/src/Microsoft.Diagnostics.Monitoring.EventPipe/DiagnosticsEventPipeProcessor.cs:line 56
--- End of stack trace from previous location ---
at Microsoft.Diagnostics.Monitoring.EventPipe.DiagnosticsEventPipeProcessor.StopProcessing() in /__w/1/s/src/Microsoft.Diagnostics.Monitoring.EventPipe/DiagnosticsEventPipeProcessor.cs:line 119
at Microsoft.Diagnostics.Monitoring.EventPipe.EventSourcePipeline`1.OnStop(CancellationToken token) in /__w/1/s/src/Microsoft.Diagnostics.Monitoring.EventPipe/EventSourcePipeline.cs:line 63
at Microsoft.Diagnostics.Monitoring.Pipeline.StopAsyncCore(CancellationToken token) in /__w/1/s/src/Microsoft.Diagnostics.Monitoring/Pipeline.cs:line 148
at Microsoft.Diagnostics.Monitoring.Pipeline.SafeExecuteTask(Func`1 acquireTask) in /__w/1/s/src/Microsoft.Diagnostics.Monitoring/Pipeline.cs:line 208
at Microsoft.Diagnostics.Tools.Counters.CounterMonitor.Collect(CancellationToken ct, List`1 counter_list, String counters, IConsole console, Int32 processId, Int32 refreshInterval, CountersExportFormat format, String output, String name, String diagnosticPort, Boolean resumeRuntime, Int32 maxHistograms, Int32 maxTimeSeries, TimeSpan duration) in /__w/1/s/src/Tools/dotnet-counters/CounterMonitor.cs:line 330
at DotnetCounters.UnitTests.CounterMonitorPayloadTests.<>c__DisplayClass15_1.<b__1>d.MoveNext() in /__w/1/s/src/tests/dotnet-counters/CounterMonitorPayloadTests.cs:line 209
--- End of stack trace from previous location ---
at CommonTestRunner.TestRunnerUtilities.ExecuteCollection(Task collectionTask, TestRunner testRunner, CancellationToken token, Func`2 waitForPipeline) in /__w/1/s/src/tests/CommonTestRunner/TestRunnerUtilities.cs:line 50
at CommonTestRunner.TestRunnerUtilities.ExecuteCollection(Func`2 executeCollection, TestRunner testRunner, CancellationToken token) in /__w/1/s/src/tests/CommonTestRunner/TestRunnerUtilities.cs:line 28
at DotnetCounters.UnitTests.CounterMonitorPayloadTests.GetCounterTrace(TestConfiguration configuration, List`1 counterList, String path, CountersExportFormat exportFormat, Func`1 CreateMetricComponents) in /__w/1/s/src/tests/dotnet-counters/CounterMonitorPayloadTests.cs:line 207
at DotnetCounters.UnitTests.CounterMonitorPayloadTests.GetCounterTrace(TestConfiguration configuration, List`1 counterList, String path, CountersExportFormat exportFormat, Func`1 CreateMetricComponents) in /__w/1/s/src/tests/dotnet-counters/CounterMonitorPayloadTests.cs:line 226
at DotnetCounters.UnitTests.CounterMonitorPayloadTests.GetCounterTraceCSV(TestConfiguration configuration, List`1 counterList) in /__w/1/s/src/tests/dotnet-counters/CounterMonitorPayloadTests.cs:line 172
at DotnetCounters.UnitTests.CounterMonitorPayloadTests.TestCounterMonitorSystemRuntimeMetricsCSV(TestConfiguration configuration) in /__w/1/s/src/tests/dotnet-counters/CounterMonitorPayloadTests.cs:line 84
--- End of stack trace from previous location ---
----- Inner Stack Trace -----
at Microsoft.Diagnostics.NETCore.Client.StreamExtensions.ReadBytesAsync(Stream stream, Int32 length, CancellationToken cancellationToken) in /__w/1/s/src/Microsoft.Diagnostics.NETCore.Client/StreamExtensions.cs:line 23
at Microsoft.Diagnostics.NETCore.Client.IpcHeader.ParseAsync(Stream stream, CancellationToken cancellationToken) in /__w/1/s/src/Microsoft.Diagnostics.NETCore.Client/DiagnosticsIpc/IpcHeader.cs:line 69
at Microsoft.Diagnostics.NETCore.Client.IpcMessage.ParseAsync(Stream stream, CancellationToken cancellationToken) in /__w/1/s/src/Microsoft.Diagnostics.NETCore.Client/DiagnosticsIpc/IpcMessage.cs:line 126
at Microsoft.Diagnostics.NETCore.Client.IpcClient.SendMessageGetContinuationAsync(IpcEndpoint endpoint, IpcMessage message, CancellationToken cancellationToken) in /__w/1/s/src/Microsoft.Diagnostics.NETCore.Client/DiagnosticsIpc/IpcClient.cs:line 83
at Microsoft.Diagnostics.NETCore.Client.EventPipeSession.StartAsync(IpcEndpoint endpoint, EventPipeSessionConfiguration config, CancellationToken cancellationToken) in /__w/1/s/src/Microsoft.Diagnostics.NETCore.Client/DiagnosticsClient/EventPipeSession.cs:line 52
at Microsoft.Diagnostics.Monitoring.EventPipe.EventPipeStreamProvider.ProcessEvents(DiagnosticsClient client, TimeSpan duration, Boolean resumeRuntime, CancellationToken cancellationToken) in /__w/1/s/src/Microsoft.Diagnostics.Monitoring.EventPipe/EventPipeStreamProvider.cs:line 40
```
https://github.com/dotnet/diagnostics/pull/4751 - [test result](https://dev.azure.com/dnceng-public/public/_build/results?buildId=718372&view=ms.vss-test-web.build-test-results-tab&runId=18003516&paneView=debug&resultId=100061)
```kusto
AzureDevOpsTests
| where Repository == "dotnet/diagnostics"
| where Message contains "EndOfStreamException"
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.