From 7a7b99bb4b9e62d2ac0a16f9b899517310980c60 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Tue, 24 Oct 2023 18:26:13 -0400 Subject: [PATCH] [wasm] WBT: fix failing no-trimming test The test build gets terminated with: `Precompiling failed for /root/helix/work/workitem/e/wbt/4hiqh2hp_nji/obj/Release/net8.0/browser-wasm/wasm/for-publish/aot-in/aot-instances.dll with exit code 137` .. while compiling `aot-instances.dll`, with 190+ assemblies when not trimming. Since, the particular tests terminate the build after this step, and don't need the output, use `WasmDedup=false` to avoid using `aot-instances.dll` at all. Fixes https://github.com/dotnet/runtime/issues/93522 --- src/mono/wasm/Wasm.Build.Tests/Blazor/NativeRefTests.cs | 5 ++++- src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/NativeRefTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/NativeRefTests.cs index 645aab3ac0eb8..6eb32eaac7b50 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/NativeRefTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/NativeRefTests.cs @@ -75,9 +75,12 @@ public void BlazorWasm_CanRunMonoAOTCross_WithNoTrimming(string config) "; + + // Use WasmDedup=false because aot-instances.dll for the no-trimming case ends + // up oom'ing. AddItemsPropertiesToProject(Path.Combine(_projectDir!, $"{id}.csproj"), extraItems: null, - extraProperties: null, + extraProperties: "false", atTheEnd: target); string publishLogPath = Path.Combine(s_buildEnv.LogRootPath, id, $"{id}.binlog"); diff --git a/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs b/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs index 0ea7aaf7bfa8f..6ae4841ab6651 100644 --- a/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs @@ -50,7 +50,9 @@ public void MonoAOTCross_WorksWithNoTrimming(BuildArgs buildArgs, string id) string projectName = $"mono_aot_cross_{buildArgs.Config}_{buildArgs.AOT}"; - buildArgs = buildArgs with { ProjectName = projectName, ExtraBuildArgs = "-p:PublishTrimmed=false -v:n" }; + // Use WasmDedup=false because aot-instances.dll for the no-trimming case ends + // up oom'ing. + buildArgs = buildArgs with { ProjectName = projectName, ExtraBuildArgs = "-p:PublishTrimmed=false -p:WasmDedup=false" }; buildArgs = ExpandBuildArgs(buildArgs, extraProperties: "true", insertAtEnd: target); (_, string output) = BuildProject(