Fix orphaned crashpad_handler processes after Android emulator stop#48
Fix orphaned crashpad_handler processes after Android emulator stop#48
Conversation
Agent-Logs-Url: https://github.com/dotnet/maui-labs/sessions/032d6d01-0b08-42fd-9d01-9d29d40ab597 Co-authored-by: rmarinho <1235097+rmarinho@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR addresses a resource leak in the MAUI CLI’s Android emulator stop flow where adb emu kill stops the main qemu-system-* process but can leave crashpad_handler (and potentially other) child processes orphaned, accumulating memory over repeated cycles.
Changes:
- Add
EmulatorProcessHelperutilities to find the emulator’s QEMU PID, enumerate its direct child PIDs, and terminate remaining child processes after shutdown (macOS/Linux only). - Update
AndroidProvider.StopEmulatorAsyncto snapshot child PIDs before stopping the emulator and kill survivors afterward. - Add unit tests covering port parsing,
psoutput parsing, QEMU PID matching, and child PID enumeration.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| src/Cli/Microsoft.Maui.Cli/Utils/EmulatorProcessHelper.cs | New helper to locate emulator QEMU process, enumerate child PIDs, and kill remaining child processes post-stop. |
| src/Cli/Microsoft.Maui.Cli/Providers/Android/AndroidProvider.cs | Hooks the helper into StopEmulatorAsync to clean up orphaned child processes. |
| src/Cli/Microsoft.Maui.Cli.UnitTests/EmulatorProcessHelperTests.cs | Adds unit coverage for parsing and PID matching/enumeration behavior. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| { | ||
| try | ||
| { | ||
| using var process = Process.GetProcessById(pid); | ||
| process.Kill(entireProcessTree: false); |
There was a problem hiding this comment.
KillProcessIds terminates processes solely by PID captured earlier. If a child exits during shutdown and its PID gets reused before this loop runs, this can kill an unrelated process. Consider re-validating each PID before killing (e.g., re-query pid→ppid and/or verify the command line still matches expected emulator child processes like crashpad_handler).
maui android emulator stopkills the mainqemu-system-aarch64process via ADB but leaves itscrashpad_handlerchildren orphaned (reparented to PID 1). These accumulate ~5 MB each over repeated start/stop cycles.Approach
Capture the emulator's child PIDs before issuing the ADB stop, then kill any survivors after it completes:
New:
EmulatorProcessHelperInternal static helper with two layers:
psoutput to map PIDs to parents, identify theqemu-system-*process for a given serial's console port (matching-port XXXXand@XXXXarg formats), and enumerate direct childrenps -eo pid,args/ps -eo pid,ppid, return discovered PIDs, kill survivors with per-process error isolationTests
17 unit tests covering port extraction,
psoutput parsing, qemu PID matching (both-portand@portformats, multiple simultaneous emulators), and child PID enumeration.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:
11vvsblobprodcus336.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/4DD03B7307853E158CACADCFA3560377/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force cros��(dns block)1p7vsblobprodcus324.vsblob.vsassets.io/usr/bin/dotnet dotnet build src/Cli/Microsoft.Maui.Cli.UnitTests/Microsoft.Maui.Cli.UnitTests.csproj -c Release 0 -j ACCEPT(dns block)/usr/share/dotnet/dotnet /usr/share/dotnet/dotnet msbuild /m /nologo /clp:Summary /v:minimal /nr:false /warnaserror /p:TreatWarningsAsErrors=true /p:ContinuousIntegrationBuild=true /home/REDACTED/work/maui-labs/maui-labs/artifacts/toolset/restore.proj /bl:/home/REDACTED/work/maui-labs/maui-labs/artifacts/log/Release/ToolsetRestore.binlog /t:__WriteToolsetLocation /clp:ErrorsOnly;NoSummary /p:__ToolsetLocationOutputFile=/home/REDACTED/work/maui-labs/maui-labs/artifacts/toolset/10.0.0-beta.26168.104.txt(dns block)/usr/bin/dotnet dotnet build src/Cli/Microsoft.Maui.Cli.UnitTests/Microsoft.Maui.Cli.UnitTests.csproj -c Release --no-restore(dns block)2kmvsblobprodcus39.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/46EB19D8E6D150879BD3367A72FC2FBC/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)4myvsblobprodcus32.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/5A662EEFB2568432D6FDBE7CF1D19C8E/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force ng/emptyFakeDotnetRoot ing/emptyFakeDotnetRoot(dns block)/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/89B4107364AD016C1857C138B15EFD04/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)4vyvsblobprodcus361.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/CCFF80F07862756B14349BFA65E8CEB4/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/89B4107364AD016C1857C138B15EFD04/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/BDA7B32C5A2E208C2B285E396532BAD8/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)5dkvsblobprodcus355.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/9AA715C847E13D676D5E6D186CBCC963/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)6s7vsblobprodcus313.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/85ED87705A97662A3C6AC9F60AF6DBA9/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/89B4107364AD016C1857C138B15EFD04/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/71D8F1331231B3366990DDCEAEF101CB/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)7devsblobprodcus323.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/8C05F420C0A27C744026142384549B8D/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)7tjvsblobprodcus341.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/8A2F7455CD2F458A2062C7DF2BE22B1E/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/7D8BC36542F9E5B7835753BC11373DCE/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)80zvsblobprodcus35.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/3A31E2867A9E7AA6F06B7D2833E11491/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)c50vsblobprodcus330.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/CB3D70C1C3CCEDE61E9080295E05A90C/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)cflvsblobprodcus383.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/89B4107364AD016C1857C138B15EFD04/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)dlbvsblobprodcus316.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/5B74F40C93A078C72D8DF238B871667A/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/89B4107364AD016C1857C138B15EFD04/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/BDA7B32C5A2E208C2B285E396532BAD8/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)e7bvsblobprodcus348.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/4DD03B7307853E158CACADCFA3560377/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force cros��(dns block)frdvsblobprodcus327.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/3F3C89B33496786B1BC802D045E3B1EC/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)josvsblobprodcus372.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/8C05F420C0A27C744026142384549B8D/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/0D40234D717C8D8DC65416C06F8EE66F/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)k4kvsblobprodcus344.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/B8868C850D22F21D56C42BA51547696A/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/97B6F2CA4656254F7A852783585D5FF8/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/2DF8A9EB8592198A8B4530E65D919638/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force cros��(dns block)kmuvsblobprodcus389.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/8C05F420C0A27C744026142384549B8D/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)kxqvsblobprodcus376.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/8C05F420C0A27C744026142384549B8D/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)m8dvsblobprodcus37.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/5A662EEFB2568432D6FDBE7CF1D19C8E/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force ng/emptyFakeDotnetRoot ing/emptyFakeDotnetRoot(dns block)n3kvsblobprodcus335.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/6EDBD3A810A2F498C79EAF56BB45C68B/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)p2ovsblobprodcus312.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/1381A7934071EB35EC16B755076CAB69/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)pc2vsblobprodcus360.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/89B4107364AD016C1857C138B15EFD04/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)securitytools.pkgs.visualstudio.com/opt/hostedtoolcache/CodeQL/2.24.3/x64/codeql/csharp/tools/linux64/Semmle.Autobuild.CSharp /opt/hostedtoolcache/CodeQL/2.24.3/x64/codeql/csharp/tools/linux64/Semmle.Autobuild.CSharp(dns block)u6ovsblobprodcus377.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/3A31E2867A9E7AA6F06B7D2833E11491/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)uy6vsblobprodcus34.vsblob.vsassets.io/usr/bin/dotnet dotnet build src/Cli/Microsoft.Maui.Cli.UnitTests/Microsoft.Maui.Cli.UnitTests.csproj -c Release 0 -j ACCEPT(dns block)vwvvsblobprodcus334.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/CCFF80F07862756B14349BFA65E8CEB4/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/89B4107364AD016C1857C138B15EFD04/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)yluvsblobprodcus367.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/9AA715C847E13D676D5E6D186CBCC963/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/nugetconfig/nuget.config --force(dns block)ytvvsblobprodcus310.vsblob.vsassets.io/usr/bin/dotnet dotnet restore --no-dependencies /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/FDF62E18DC280BA5DDB971B891D2EB18/missingpackages_workingdir --packages /tmp/codeql-scratch-a7656e55742be5f5/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /tmp/codeql-scratch-a7656e55742be5f5/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: