Short summary
The Linux AppImage leaks its bundled library path into terminal sessions, causing child .NET processes to load the AppImage's OpenSSL instead of the system OpenSSL. This prevents Aspire/.NET projects from starting.
Affected version or release
GitHub Copilot App / CLI 1.0.80
Installation context
Linux desktop AppImage; terminal opened in a Copilot App repository session. Reproduced on Omarchy (x86_64).
What happened?
The terminal inherited an AppImage path such as:
LD_LIBRARY_PATH=/tmp/.mount_GitHub.../usr/lib/...
When Aspire invokes dotnet msbuild to discover/validate an AppHost, the process resolves libcrypto.so.3 from the AppImage mount rather than the OS. The AppImage-provided library does not provide the OpenSSL version symbols required by the installed .NET 10 runtime, so the probe aborts and Aspire misleadingly reports that no AppHosts were found.
Relevant error:
libcrypto.so.3: version `OPENSSL_3.3.0' not found
Steps to reproduce
- Run the Copilot App as its Linux AppImage on a system whose .NET runtime requires a newer OpenSSL symbol version than the bundled AppImage library.
- Open a repository terminal/session from the Copilot App.
- Inspect
LD_LIBRARY_PATH; it includes /tmp/.mount_GitHub.../usr/lib/....
- Run a .NET child process, for example:
aspire start --apphost Pando/CitySpark.Orchestrator/CitySpark.Orchestrator.csproj --isolated (or dotnet msbuild).
- Observe the OpenSSL symbol-version failure.
Expected behavior
The App should sanitize AppImage-specific dynamic-library environment variables before spawning the terminal and all child tools, so they use the system's libraries.
Additional context
This succeeds immediately when the AppImage library variables are removed:
env -u LD_LIBRARY_PATH -u LD_PRELOAD aspire start --apphost Pando/CitySpark.Orchestrator/CitySpark.Orchestrator.csproj --isolated
This appears related to prior closed reports of LD_LIBRARY_PATH leaking into spawned git/curl processes: #644, #1394, and #2896. The current impact is .NET/Aspire and may affect any child program dynamically linked against a library where the bundled AppImage version is incompatible.
Short summary
The Linux AppImage leaks its bundled library path into terminal sessions, causing child .NET processes to load the AppImage's OpenSSL instead of the system OpenSSL. This prevents Aspire/.NET projects from starting.
Affected version or release
GitHub Copilot App / CLI 1.0.80
Installation context
Linux desktop AppImage; terminal opened in a Copilot App repository session. Reproduced on Omarchy (x86_64).
What happened?
The terminal inherited an AppImage path such as:
When Aspire invokes
dotnet msbuildto discover/validate an AppHost, the process resolveslibcrypto.so.3from the AppImage mount rather than the OS. The AppImage-provided library does not provide the OpenSSL version symbols required by the installed .NET 10 runtime, so the probe aborts and Aspire misleadingly reports that no AppHosts were found.Relevant error:
Steps to reproduce
LD_LIBRARY_PATH; it includes/tmp/.mount_GitHub.../usr/lib/....aspire start --apphost Pando/CitySpark.Orchestrator/CitySpark.Orchestrator.csproj --isolated(ordotnet msbuild).Expected behavior
The App should sanitize AppImage-specific dynamic-library environment variables before spawning the terminal and all child tools, so they use the system's libraries.
Additional context
This succeeds immediately when the AppImage library variables are removed:
This appears related to prior closed reports of
LD_LIBRARY_PATHleaking into spawnedgit/curlprocesses: #644, #1394, and #2896. The current impact is .NET/Aspire and may affect any child program dynamically linked against a library where the bundled AppImage version is incompatible.