Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Error] Read-only files from host causing application hangs and installation failures #1619

Open
EPOCHvoyager opened this issue Nov 24, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@EPOCHvoyager
Copy link

EPOCHvoyager commented Nov 24, 2024

Describe the bug
When attempting to install applications such as mangohud or obs-vkcapture in a container, certain files will be mounted read-only from the container host, and will lead to either installation failures in the package manager - or if they're manually unmounted to allow installation to continue, applications loading these programs might hang on startup once the container is restarted, likely due to a metadata mismatch.

Seems to affect files under /usr/share/vulkan/implicit_layer.d/, and to have begun on Distrobox 1.8.0.

To Reproduce
Install MangoHud or obs-vkcapture on host, create an Arch box such as quay.io/toolbx/arch-toolbox:latest, attempt to install mangohud or obs-vkcapture in the container - the former is available from the Arch repos, the latter is on the AUR - installation should fail.

Use sudo umount to unmount the relevant files informed in the installation error and allow installation to continue(adding --overwrite "*" to the installation command might be necessary on Arch), then restart the container, and execute an application which can load the MangoHud overlay - like the Dolphin emulator set to run with Vulkan - with MANGOHUD=1. Once the application attempts to init Vulkan, it should hang.

Expected behavior
I expected affected applications to be installed normally, or to run.

Logs

$ sudo pacman -S mangohud
resolving dependencies...
looking for conflicting packages...

Package (20)             New Version  Net Change

extra/blas               3.12.0-5       0.65 MiB
extra/cblas              3.12.0-5       0.34 MiB
extra/glew               2.2.0-7        3.57 MiB
extra/glfw               3.4-2          3.40 MiB
extra/lapack             3.12.0-5       7.48 MiB
extra/libimagequant      4.3.3-1        0.58 MiB
extra/libraqm            0.10.2-1       0.19 MiB
extra/python-contourpy   1.3.1-1        0.90 MiB
extra/python-cycler      0.12.1-2       0.07 MiB
extra/python-dateutil    2.9.0-5        0.99 MiB
extra/python-fonttools   4.55.0-1      19.25 MiB
extra/python-kiwisolver  1.4.5-3        0.14 MiB
extra/python-matplotlib  3.9.2-1       27.59 MiB
extra/python-numpy       2.1.3-1       47.58 MiB
extra/python-packaging   24.2-1         0.66 MiB
extra/python-pillow      11.0.0-1       4.19 MiB
extra/python-pyparsing   3.1.2-2        1.25 MiB
extra/python-six         1.16.0-9       0.11 MiB
extra/qhull              2020.2-5       6.94 MiB
extra/mangohud           0.7.2-2        9.76 MiB

Total Installed Size:  135.65 MiB

:: Proceed with installation? [Y/n] 
(20/20) checking keys in keyring                          [###############################] 100%
(20/20) checking package integrity                        [###############################] 100%
(20/20) loading package files                             [###############################] 100%
(20/20) checking for file conflicts                       [###############################] 100%
error: failed to commit transaction (conflicting files)
mangohud: /usr/share/vulkan/implicit_layer.d/MangoHud.x86_64.json exists in filesystem
mangohud: /usr/share/vulkan/implicit_layer.d/libMangoApp.x86_64.json exists in filesystem
Errors occurred, no packages were upgraded.

Desktop (please complete the following information):

  • Are you using podman, docker or lilipod? Podman.
  • Which version or podman, docker or lilipod? podman-5.2.5-1.fc41.x86_64.
  • Which version of distrobox? distrobox-1.8.0-1.fc41.noarch.
  • Which host distribution? Bazzite 41 (FROM Fedora Silverblue).
  • How did you install distrobox? Included in the Bazzite image.

Additional context
I believe the MangoHud packaging should be different from the one on host for the hanging behavior to materialize, such as placing the 64bit .so in /usr/lib/mangohud/ instead of /usr/lib64/mangohud/. Arch does the former, Fedora does the latter. Upon further investigation, it seems that Arch packages the 32-bit components in lib32-mangohud. Installing it does not remedy the freezing on init behavior.

@EPOCHvoyager EPOCHvoyager added the bug Something isn't working label Nov 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant