Open-Wine-Components/umu-launcher

umu-launcher sometimes exiting with status code 0 when an error is thrown

Opened this issue · 0 comments

umu version: 1.2.9

I'm using umu-run inside a bash script to setup a prefix and install a game into it. I noticed when umu itself throws an error, it does return 0 which leads my bash script to believe that the command executed fine. For example running:

PROTONPATH="invalid" ./umu-run winetricks -q win10; echo "Exit code: $?"

Returns:

ERROR: Failed to match 'invalid' with a container runtime
Traceback (most recent call last):
  File "/home/USER/.local/share/runtime/./umu-run/__main__.py", line 95, in <module>
    sys.exit(main())
             ~~~~^^
  File "/home/USER/.local/share/runtime/./umu-run/__main__.py", line 90, in main
    return umu_run(args)
  File "/home/USER/.local/share/runtime/./umu-run/umu/umu_run.py", line 822, in umu_run
    raise ValueError(err)
ValueError: Failed to match 'invalid' with a container runtime
Exit code: 0

While running:

PROTONPATH="invalid" ./umu-run winetricks; echo "Exit code: $?"

Returns:

ERROR: No winetricks verb specified
Exit code: 1

as it should.

EDIT 2:

Another case where exit code 0 is returned:

ERROR: [Errno 13] Permission denied: '/mnt/var'
Traceback (most recent call last):
  File "/usr/lib64/python3.14/pathlib/__init__.py", line 1016, in mkdir
    os.mkdir(self, mode)
    ~~~~~~~~^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/mnt/var/home/tarkov'