dotnet / extensions

This repository contains a suite of libraries that provide facilities commonly needed when creating production-ready applications.
MIT License
2.59k stars 744 forks source link

System.InvalidOperationException : Could not parse '/sys/fs/cgroup/memory.max' content. Expected to find available memory in bytes but got 'max ' instead #5161

Closed tai-yi closed 4 months ago

tai-yi commented 4 months ago

Description

Run web API integration test(in container) error caused by Microsoft.Extensions.Diagnostics.ResourceMonitoring

System.InvalidOperationException : Could not parse '/sys/fs/cgroup/memory.max' content. Expected to find available memory in bytes but got 'max' instead

Microsoft.Extensions.Diagnostics.ResourceMonitoring 8.5.0 docker Image : mcr.microsoft.com/dotnet/sdk:8.0

Reproduction Steps

run dotnet test

Expected behavior

should not exception

Actual behavior

Error Message:
   System.InvalidOperationException : Could not parse '/sys/fs/cgroup/memory.max' content. Expected to find available memory in bytes but got 'max
' instead.
  Stack Trace:
     at Microsoft.Shared.Diagnostics.Throw.InvalidOperationException(String message)
   at Microsoft.Extensions.Diagnostics.ResourceMonitoring.Linux.LinuxUtilizationParserCgroupV2.GetAvailableMemoryInBytes()
   at Microsoft.Extensions.Diagnostics.ResourceMonitoring.Linux.LinuxUtilizationProvider..ctor(IOptions`1 options, ILinuxUtilizationParser parser, IMeterFactory meterFactory, TimeProvider timeProvider)
   at InvokeStub_LinuxUtilizationProvider..ctor(Object, Span`1)
   at System.Reflection.MethodBaseInvoker.InvokeWithFewArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)

Regression?

No response

Known Workarounds

Fallback to 8.4.0

Configuration

Image : mcr.microsoft.com/dotnet/sdk:8.0 Host OS: Ubuntu 22.04.4 LTS docker: 26.1.2

Other information

No response

RussKie commented 4 months ago

Duplicate of #5114