dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.95k stars 4.65k forks source link

[browser] `System.Buffers.ArrayPool.Tests.ArrayPoolUnitTests` fails with out of memory #101436

Open ilonatommy opened 4 months ago

ilonatommy commented 4 months ago

Build Information

Build: https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_build/results?buildId=653237 Build error leg or test failing: System.Buffers.ArrayPool.Tests.ArrayPoolUnitTests.RentingSpecificLengthsYieldsExpectedLengths Pull request: https://github.com/dotnet/runtime/pull/101390

Error Message

Fill the error message using step by step known issues guidance.

{
  "ErrorMessage": [ "[FAIL] System.Buffers.ArrayPool", "System.OutOfMemoryException : Out of memory" ],
  "ErrorPattern": "",
  "BuildRetry": false,
  "ExcludeConsoleLog": false
}

Observed on 'WasmTestOnChrome-System.Buffers.Tests

[13:07:44] info: [FAIL] System.Buffers.ArrayPool.Tests.ArrayPoolUnitTests.RentingSpecificLengthsYieldsExpectedLengths(requestedMinimum: 2097152, expectedLength: 2097152)
[13:07:44] info: System.OutOfMemoryException : Out of memory
[13:07:44] info:    at System.Buffers.ConfigurableArrayPool`1[[System.String, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Rent(Int32 minimumLength)
[13:07:44] info:    at System.Buffers.ArrayPool.Tests.ArrayPoolUnitTests.RentingSpecificLengthsYieldsExpectedLengths(Int32 requestedMinimum, Int32 expectedLength)
[13:07:44] info:    at System.Object.InvokeStub_ArrayPoolUnitTests.RentingSpecificLengthsYieldsExpectedLengths(Object , Span`1 )
[13:07:44] info:    at System.Reflection.MethodBaseInvoker.InvokeWithFewArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
[13:07:44] info: System.Buffers.ArrayPool.Tests.ArrayPoolUnitTests 17.1077205 ms

log

Known issue validation

Build: :mag_right: https://dev.azure.com/dnceng-public/public/_build/results?buildId=653237 Error message validated: [[FAIL] System.Buffers.ArrayPool System.OutOfMemoryException : Out of memory] Result validation: :x: Known issue did not match with the provided build. Validation performed at: 4/25/2024 7:55:51 PM UTC

Report

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
0 0 0
dotnet-policy-service[bot] commented 4 months ago

Tagging subscribers to 'arch-wasm': @lewing See info in area-owners.md if you want to be subscribed.

dotnet-policy-service[bot] commented 4 months ago

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

lewing commented 4 months ago

The pattern is too broad and it is catching failures in System.Text.Json not ArrayPool tests. I'm going to close the issue, feel free to update the pattern to match the ArrayPool tests

lewing commented 4 months ago

Updating the condition and reopening

lewing commented 4 months ago

@kg here are some common arraypool failures

lewing commented 4 months ago

Also worth reading https://github.com/dotnet/runtime/issues/853

pavelsavara commented 4 months ago

This is great log

[11:40:08] info: System.Buffers.ArrayPool.Tests.CollectionTests 0 ms
[11:40:08] fail: [0x012251a0-dpty 11:40:08.951] [MONO] Could not allocate 131072 (1 * 131072) bytes
                 Error
                     at tu (http://127.0.0.1:40487/_framework/dotnet.runtime.js:3:199931)
                     at wasm_trace_logger (http://127.0.0.1:40487/_framework/dotnet.native.wasm:wasm-function[197]:0x155ad)
                     at eglib_log_adapter (http://127.0.0.1:40487/_framework/dotnet.native.wasm:wasm-function[697]:0x4e9fc)
                     at monoeg_g_logv_nofree (http://127.0.0.1:40487/_framework/dotnet.native.wasm:wasm-function[615]:0x4c119)
                     at monoeg_g_log (http://127.0.0.1:40487/_framework/dotnet.native.wasm:wasm-function[617]:0x4c1dc)
                     at monoeg_g_calloc (http://127.0.0.1:40487/_framework/dotnet.native.wasm:wasm-function[607]:0x4bf7c)
                     at monoeg_malloc0 (http://127.0.0.1:40487/_framework/dotnet.native.wasm:wasm-function[608]:0x4bf96)
                     at rehash_table (http://127.0.0.1:40487/_framework/dotnet.native.wasm:wasm-function[2198]:0xbd6b5)
                     at mono_conc_hashtable_insert (http://127.0.0.1:40487/_framework/dotnet.native.wasm:wasm-function[2199]:0xbd81d)
                     at mono_metadata_lookup_generic_class (http://127.0.0.1:40487/_framework/dotnet.native.wasm:wasm-function[2455]:0xd146e)
                     at inflate_generic_type (http://127.0.0.1:40487/_framework/dotnet.native.wasm:wasm-function[1235]:0x7313a)
                     at mono_class_inflate_generic_type_with_mempool (http://127.0.0.1:40487/_framework/dotnet.native.wasm:wasm-function[1234]:0x72a72)
                     at mono_class_inflate_generic_class_checked (http://127.0.0.1:40487/_framework/dotnet.native.wasm:wasm-function[1237]:0x73253)
                     at mono_class_get_and_inflate_typespec_checked (http://127.0.0.1:40487/_framework/dotnet.native.wasm:wasm-function[1293]:0x7533e)

I guess other places don't produce as nice message when they can't allocate