Skip to content

Linux/AppImage: LD_LIBRARY_PATH leaks into terminal and breaks child .NET processes #3158

Description

@ty-davis

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

  1. 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.
  2. Open a repository terminal/session from the Copilot App.
  3. Inspect LD_LIBRARY_PATH; it includes /tmp/.mount_GitHub.../usr/lib/....
  4. Run a .NET child process, for example: aspire start --apphost Pando/CitySpark.Orchestrator/CitySpark.Orchestrator.csproj --isolated (or dotnet msbuild).
  5. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions