TheAssassin / AppImageLauncher

Helper application for Linux distributions serving as a kind of "entry point" for running and integrating AppImages
https://assassinate-you.net/tags/appimagelauncher/
MIT License
5.42k stars 257 forks source link

AppImageLauncher breaks starting AppImages because mounting fails #599

Open berolinux opened 1 year ago

berolinux commented 1 year ago

Pre-submit checks

Describe the bug

Launching an AppImage on the box in question works perfectly (before installing AppImageLauncher as well as after removing its binfmt-misc bits), so all permissions, dependencies, etc. are ok.

But if AppImageLauncher (tried current git and 3.0.0-alpha1) is installed and the binfmt-misc wrapper is enabled, launching any AppImage (including ones known to work with AppImageLauncher disabled), launching the AppImage fails. AppImageLauncher's dialog pops up as expected, and after selecting "Run Once", nothing happens because the AppImage fails to launch.

Output when trying to launch an appimage with AppImageLauncher enabled:

[appimagelauncher-binfmt-bypass/interpreter] DEBUG: Welcome to AppImageLauncher's binfmt_misc interpreter!
[appimagelauncher-binfmt-bypass/interpreter] DEBUG: AppImageLauncher found at /usr/bin/AppImageLauncher, launching AppImage ./ProtonUp-Qt-2.8.2-x86_64.appimage with it
[appimagelauncher-binfmt-bypass/lib] DEBUG: library to preload: /usr/lib64/appimagelauncher/libbinfmt-bypass-preload.so
[appimagelauncher-binfmt-bypass/lib] DEBUG: absolute AppImage path: /home/bero/Downloads/ProtonUp-Qt-2.8.2-x86_64.appimage
[appimagelauncher-binfmt-bypass/lib] DEBUG: fexecve(...)
[appimagelauncher-binfmt-bypass/preload] DEBUG: open(/tmp/.mount_Proton53mB4u, 0)
execv error: No such file or directory
[appimagelauncher-binfmt-bypass/lib] DEBUG: forwarding signal 17 to subprocess 2736182
[appimagelauncher-binfmt-bypass/lib] DEBUG: child exited normally with code 127

The execv error: No such file or directory happens when trying to launch AppRun, because mounting the AppImage failed (in fact, I don't see any attempt of even trying to mount it in strace output). Launching the AppImage with --appimage-mount shows the mount point being created, but remaining empty/nothing mounted. Launching AppImages with --appimage-extract-and-run keeps working even with AppImageLauncher installed and the binfmt handler enabled.

The preloaded wrapper seems to cause mount to fail (or not even be tried).

Expected behavior

AppImage files keep launching when AppImageLauncher is installed and activated through binfmt-misc

Steps to reproduce the issue

  1. Launch any appimage (succeeds)
  2. Install AppImageLauncher
  3. Launch any appimage (e.g. the same one that succeeded before)

Screenshots

No response

Distribution and desktop environment

OpenMandriva Cooker (kernel 6.5.1, glibc 2.38) KDE Plasma 5.27.7

Installed AppImageLauncher version

AppImageLauncher version 3.0.0alpha-1 (git commit 71e8e32), built on 2023-08-12 14:47:26 UTC

List of AppImages you tried

The issue is not related to any specific AppImage, but happens on all of them, e.g.

Additional context

No response

nerdCopter commented 10 months ago

Adding to this issue-tracker due to the proper generic title.

This project suffers the same: https://github.com/mmtrt/WINE_AppImage/issues/23 execv error: No such file or directory

Cyriuz commented 8 months ago

We have the same issue now with our Appimages when trying to use the new static runtime, so this is probably related to https://github.com/AppImage/type2-runtime/issues/12 ?