Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 25, 2025

TryDumpProfileMethods was only called inside the exclusion processing block, so AOTProfileDump.Original.txt was never generated when WasmShellGenerateAOTProfileDebugList=true unless exclusions were also configured.

Changes

  • Move TryDumpProfileMethods call for original profile outside the exclusion conditional
  • Original profile dump now runs whenever GenerateAOTProfileDebugList is true
  • Filtered profile dump still only runs when exclusions are present (unchanged)

Fixes #965

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • 0t3vsblobprodcus362.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj (dns block)
    • Triggering command: /usr/bin/dotnet dotnet restore src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj (dns block)
    • Triggering command: /usr/bin/dotnet dotnet restore src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj --disable-parallel (dns block)
  • 1s1vsblobprodcus386.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet restore --no-dependencies /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/71CDA9FA07BF67921CD59B3ABBA37B0E/missingpackages_workingdir --packages /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 37bvsblobprodcus311.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet restore src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj --disable-parallel (dns block)
  • c50vsblobprodcus330.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj (dns block)
    • Triggering command: /usr/bin/dotnet dotnet restore src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj --disable-parallel (dns block)
  • c78vsblobprodcus322.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet restore src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj (dns block)
    • Triggering command: /usr/bin/dotnet dotnet restore src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj --disable-parallel (dns block)
  • e7bvsblobprodcus348.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet restore --no-dependencies /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/00DA3BA51762B14D47D4C9F6E8A232CB/missingpackages_workingdir --packages /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • gbsvsblobprodcus365.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet restore src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj (dns block)
    • Triggering command: /usr/bin/dotnet dotnet restore src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj --disable-parallel (dns block)
  • josvsblobprodcus372.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet restore src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj (dns block)
    • Triggering command: /usr/bin/dotnet dotnet restore src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj --disable-parallel (dns block)
  • kmuvsblobprodcus389.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj (dns block)
    • Triggering command: /usr/bin/dotnet dotnet restore src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj --disable-parallel (dns block)
  • l7avsblobprodcus319.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet restore --no-dependencies /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/71CDA9FA07BF67921CD59B3ABBA37B0E/missingpackages_workingdir --packages /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • m6xvsblobprodcus342.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet restore --no-dependencies /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/96146B9C9BBC2F9FFFA408994AEDD745/missingpackages_workingdir --packages /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • m8dvsblobprodcus37.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet restore --no-dependencies /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/8845E28650F18653C93748C666E63EF3/missingpackages_workingdir --packages /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • n3kvsblobprodcus335.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj (dns block)
    • Triggering command: /usr/bin/dotnet dotnet restore src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj (dns block)
    • Triggering command: /usr/bin/dotnet dotnet restore src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj --disable-parallel (dns block)
  • ofvvsblobprodcus315.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet restore src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj (dns block)
    • Triggering command: /usr/bin/dotnet dotnet restore src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj --disable-parallel (dns block)
  • pc2vsblobprodcus360.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet restore src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj (dns block)
    • Triggering command: /usr/bin/dotnet dotnet restore src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj --disable-parallel (dns block)
  • pe3vsblobprodcus354.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet restore --no-dependencies /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/F5556DE1363A447AE96C88F58AE6CB43/missingpackages_workingdir --packages /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • pkvvsblobprodcus321.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet restore --no-dependencies /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/827E41EF5ABEA9DFDCA4CFE9F5DADB69/missingpackages_workingdir --packages /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • sqdvsblobprodcus333.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet restore src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj --disable-parallel (dns block)
  • tphvsblobprodcus375.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet restore --no-dependencies /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/85ED87705A97662A3C6AC9F60AF6DBA9/missingpackages_workingdir --packages /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /usr/bin/dotnet dotnet restore --no-dependencies /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/E5824CA4D60894E0B85D0A090ED867CB/missingpackages_workingdir --packages /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • u3hvsblobprodcus371.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet restore --no-dependencies /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/F7D2419353110B6F32053972B32A361D/missingpackages_workingdir --packages /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • u6ovsblobprodcus377.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj (dns block)
    • Triggering command: /usr/bin/dotnet dotnet restore src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj (dns block)
    • Triggering command: /usr/bin/dotnet dotnet restore src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj --disable-parallel (dns block)
  • vwvvsblobprodcus334.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet restore --no-dependencies /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/8845E28650F18653C93748C666E63EF3/missingpackages_workingdir --packages /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /usr/bin/dotnet dotnet restore --no-dependencies /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/EE45C04B129846F19F6DF7F604939F43/missingpackages_workingdir --packages /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /usr/bin/dotnet dotnet restore --no-dependencies /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/F5556DE1363A447AE96C88F58AE6CB43/missingpackages_workingdir --packages /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • x3yvsblobprodcus370.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet restore src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj (dns block)
    • Triggering command: /usr/bin/dotnet dotnet restore src/Uno.Wasm.Bootstrap/Uno.Wasm.Bootstrap.csproj --disable-parallel (dns block)
  • yttvsblobprodcus357.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet restore --no-dependencies /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/827E41EF5ABEA9DFDCA4CFE9F5DADB69/missingpackages_workingdir --packages /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • ytvvsblobprodcus310.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet restore --no-dependencies /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/362621CD4D4B596E9E48EA1904CE2420/missingpackages_workingdir --packages /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /usr/bin/dotnet dotnet restore --no-dependencies /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/827E41EF5ABEA9DFDCA4CFE9F5DADB69/missingpackages_workingdir --packages /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /usr/bin/dotnet dotnet restore --no-dependencies /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/BBBCC41EA2F79711861A3DD3290BD376/missingpackages_workingdir --packages /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/Uno.Wasm.Bootstrap/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This section details on the original issue you should resolve

<issue_title>Dumping AOT Profile Methods requires something in either WasmShellAOTProfileExcludedMethods or MonoRuntimeMixedModeExcludedAssembly</issue_title>
<issue_description>### Current behavior 🐛

When setting <WasmShellGenerateAOTProfileDebugList>true</WasmShellGenerateAOTProfileDebugList>, the AOTProfile.*.txt files are not created if neither MonoRuntimeMixedModeExcludedAssembly nor WasmShellAOTProfileExcludedMethods are set. This is unexpected as I'd expect to get the AOT Profile debug list regardless.

Expected behavior 🎯

Setting WasmShellGenerateAOTProfileDebugList to true should generate the AOTProfile.*.txt files regardless of other settings.

How to reproduce it (as minimally and precisely as possible) 🔬

You can see that the only place TryDumpProfileMethods are called are within an if statement that checks for any items in those aforementioned parameters.

TryDumpProfileMethods(profile, "AOTProfileDump.Original.txt");

TryDumpProfileMethods(profile, "AOTProfileDump.Filtered.txt");

Workaround 🛠️

Add a dummy value, such as <WasmShellAOTProfileExcludedMethods>Dummy</WasmShellAOTProfileExcludedMethods>

Renderer 🎨

  • Skia
  • Native

Affected platforms 📱💻🖥️

WebAssembly

Uno.Sdk version (and other relevant versions) 📦

6.4.31 / Bootstraper 10.0.13

IDE version 🧑‍💻

No response

Anything else we need to know? 💬

No response</issue_description>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

Copilot AI changed the title [WIP] Fix AOT profile methods dumping issue in WasmShell fix: Generate AOT profile debug list regardless of exclusion settings Nov 25, 2025
Copilot AI requested a review from clairernovotny November 25, 2025 16:40
Copilot finished work on behalf of clairernovotny November 25, 2025 16:40
@clairernovotny clairernovotny marked this pull request as ready for review November 26, 2025 17:13
Copilot AI review requested due to automatic review settings November 26, 2025 17:13
Copilot finished reviewing on behalf of clairernovotny November 26, 2025 17:14
@github-actions
Copy link

Azure Static Web Apps: Your stage site is ready! Visit it here: https://white-river-0087b630f-1009.eastus2.1.azurestaticapps.net

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes a bug where the AOT profile debug list (AOTProfileDump.Original.txt) was not generated when WasmShellGenerateAOTProfileDebugList=true unless AOT profile exclusions were also configured. The fix moves the TryDumpProfileMethods call for the original profile outside the conditional block that checks for exclusions, ensuring it runs whenever debug list generation is enabled.

Key Changes:

  • Moved TryDumpProfileMethods call for original profile dump outside the exclusion conditional block
  • Added explanatory comment clarifying the intent of the unconditional dump

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jeromelaban jeromelaban merged commit 85316da into main Nov 26, 2025
16 of 17 checks passed
@jeromelaban jeromelaban deleted the copilot/fix-aot-profile-debug-list branch November 26, 2025 19:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Dumping AOT Profile Methods requires something in either WasmShellAOTProfileExcludedMethods or MonoRuntimeMixedModeExcludedAssembly

4 participants