[Bug]: Crash At Startup

by ADMIN 24 views

Describe the Bug

This bug report outlines a recurring issue with the Bottles application on Nobara Linux, where the program crashes at startup, even after uninstalling and reinstalling the application. The issue is not limited to a specific version of Bottles, as it has been observed across multiple versions.

To Reproduce

To reproduce this bug, follow these steps:

  1. Check if bottles are on the app: Open Bottles and verify if the application is listing the existing bottles.
  2. Delete from FS if not on the list after closing the app: If the bottles are not listed, close the application and delete the bottles from the file system.
  3. Reopen the app: Attempt to reopen Bottles, and it will crash.

Alternatively, you can try the following steps:

  1. Uninstall and reinstall Bottles: Uninstall Bottles and reinstall it from the Flathub repository.
  2. Run: Attempt to run Bottles, and it will crash.

Package and Distribution

  • Package: Bottles is installed as a Flatpak from the Flathub repository.
  • Distribution: The issue is observed on Nobara Linux, which is based on Fedora 41.

Debugging Information

The following debugging information is provided:

Official Package: true
Version: '51.20'
DE/WM: plasma
Display:
    X.org: true
    X.org (port): :0
    Wayland: true
Graphics:
    vendors:
        nvidia:
            vendor: nvidia
            envs:
                __NV_PRIME_RENDER_OFFLOAD: '1'
                __GLX_VENDOR_LIBRARY_NAME: nvidia
                __VK_LAYER_NV_optimus: NVIDIA_only
            icd: /usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/nvidia_icd.json
            nvngx_path: /usr/lib/x86_64-linux-gnu/GL/nvidia-570-124-04/extra/nvidia/wine
    prime:
        integrated: null
        discrete: null
Kernel:
    Type: Linux
    Version: 6.13.5-200.nobara.fc41.x86_64
Disk:
    Total: 8341757952
    Free: 8341573632
RAM:
    MemTotal: 15.5GiB
    MemAvailable: 10.6GiB
Bottles_envs: null

Troubleshooting Logs

The following troubleshooting logs are provided:

20:32:06 (ERROR) Config file not exists 
Traceback (most recent call last):
  File "/app/share/bottles/bottles/backend/models/config.py", line 183, in load
    raise FileNotFoundError("Config file not exists")
FileNotFoundError: Config file not exists
20:32:06 (ERROR) Config file not exists 
Traceback (most recent call last):
  File "/app/share/bottles/bottles/backend/models/config.py", line 183, in load
    raise FileNotFoundError("Config file not exists")
FileNotFoundError: Config file not exists
20:32:06 (ERROR) Config file not exists 
Traceback (most recent call last):
  File "/app/share/bottles/bottles/backend/models/config.py", line 183, in load
    raise FileNotFoundError("Config file not exists")
FileNotFoundError: Config file not exists
20:32:06 (ERROR) Config file not exists 
Traceback (most recent call last):
  File "/app/share/bottles/bottles/backend/models/config.py", line 183, in load
    raise FileNotFoundError("Config file not exists")
FileNotFoundError: Config file not exists
20:32:06 (ERROR) Error while running async job: <function BottlesWindow.__on_start.<locals>.get_manager at 0x7c9965358540>
        Exception: [Errno 1] Operation not permitted: '/run/user/1000/doc/7d79b069/Bottles'
 
  File "/app/share/bottles/bottles/backend/utils/threading.py", line 62, in __target
    result = self.task_func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/share/bottles/bottles/frontend/windows/window.py", line 288, in get_manager
    mng = Manager(
          ^^^^^^^^
  File "/app/share/bottles/bottles/backend/utils/singleton.py", line 6, in __call__
    cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/share/bottles/bottles/backend/managers/manager.py", line 157, in __init__
    times.update(self.checks(install_latest=False, first_run=True).data)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/share/bottles/bottles/backend/managers/manager.py", line 211, in checks
    self.check_bottles()
  File "/app/share/bottles/bottles/backend/managers/manager.py", line 950, in check_bottles
    process_bottle(b)
  File "/app/share/bottles/bottles/backend/managers/manager.py", line 910, in process_bottle
    os.makedirs(p)
  File "<frozen os>", line 215, in makedirs
  File "<frozen os>", line 215, in makedirs
  File "<frozen os>", line 215, in makedirs
  File "<frozen os>", line 225, in makedirs
20:32:06 (INFO) Catalog installers loaded 
20:32:06 (INFO) Catalog dependencies loaded 
20:32:06 (INFO) Bottles Started! 
Traceback (most recent call last):
  File "/app/share/bottles/bottles/frontend/windows/window.py", line 217, in set_manager
    x for x in self.manager.runners_available if not x.startswith("sys-")
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'runners_available'

Additional Context

No additional context is provided.

Conclusion

Q: What is the issue with Bottles crashing at startup?

A: The issue with Bottles crashing at startup is a recurring problem where the application crashes immediately after launching, even after uninstalling and reinstalling the application.

Q: What are the steps to reproduce the issue?

A: To reproduce the issue, follow these steps:

  1. Check if bottles are on the app: Open Bottles and verify if the application is listing the existing bottles.
  2. Delete from FS if not on the list after closing the app: If the bottles are not listed, close the application and delete the bottles from the file system.
  3. Reopen the app: Attempt to reopen Bottles, and it will crash.

Alternatively, you can try the following steps:

  1. Uninstall and reinstall Bottles: Uninstall Bottles and reinstall it from the Flathub repository.
  2. Run: Attempt to run Bottles, and it will crash.

Q: What are the system requirements for Bottles to function properly?

A: The system requirements for Bottles to function properly are:

  • Package: Bottles is installed as a Flatpak from the Flathub repository.
  • Distribution: The issue is observed on Nobara Linux, which is based on Fedora 41.

Q: What are the debugging information and troubleshooting logs provided?

A: The following debugging information and troubleshooting logs are provided:

Official Package: true
Version: '51.20'
DE/WM: plasma
Display:
    X.org: true
    X.org (port): :0
    Wayland: true
Graphics:
    vendors:
        nvidia:
            vendor: nvidia
            envs:
                __NV_PRIME_RENDER_OFFLOAD: '1'
                __GLX_VENDOR_LIBRARY_NAME: nvidia
                __VK_LAYER_NV_optimus: NVIDIA_only
            icd: /usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/nvidia_icd.json
            nvngx_path: /usr/lib/x86_64-linux-gnu/GL/nvidia-570-124-04/extra/nvidia/wine
    prime:
        integrated: null
        discrete: null
Kernel:
    Type: Linux
    Version: 6.13.5-200.nobara.fc41.x86_64
Disk:
    Total: 8341757952
    Free: 8341573632
RAM:
    MemTotal: 15.5GiB
    MemAvailable: 10.6GiB
Bottles_envs: null
20:32:06 (ERROR) Config file not exists 
Traceback (most recent call last):
  File "/app/share/bottles/bottles/backend/models/config.py", line 183, in load
    raise FileNotFoundError("Config file not exists")
FileNotFoundError: Config file not exists
20:32:06 (ERROR) Config file not exists 
Traceback (most recent call last):
  File "/app/share/bottles/bottles/backend/models/config.py", line 183, in load
    raise FileNotFoundError("Config file not exists")
FileNotFoundError: Config file not exists
20:32:06 (ERROR) Config file not exists 
Traceback (most recent call last):
  File "/app/share/bottles/bottles/backend/models/config.py", line 183, in load
    raise FileNotFoundError("Config file not exists")
FileNotFoundError: Config file not exists
20:32:06 (ERROR) Config file not exists 
Traceback (most recent call last):
  File "/app/share/bottles/bottles/backend/models/config.py", line 183, in load
    raise FileNotFoundError("Config file not exists")
FileNotFoundError: Config file not exists
20:32:06 (ERROR) Error while running async job: <function BottlesWindow.__on_start.<locals>.get_manager at 0x7c9965358540>
        Exception: [Errno 1] Operation not permitted: '/run/user/1000/doc/7d79b069/Bottles'
 
  File "/app/share/bottles/bottles/backend/utils/threading.py", line 62, in __target
    result = self.task_func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/share/bottles/bottles/frontend/windows/window.py", line 288, in get_manager
    mng = Manager(
          ^^^^^^^^
  File "/app/share/bottles/bottles/backend/utils/singleton.py", line 6, in __call__
    cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/share/bottles/bottles/backend/managers/manager.py", line 157, in __init__
    times.update(self.checks(install_latest=False, first_run=True).data)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/share/bottles/bottles/backend/managers/manager.py", line 211, in checks
    self.check_bottles()
  File "/app/share/bottles/bottles/backend/managers/manager.py", line 950, in check_bottles
    process_bottle(b)
  File "/app/share/bottles/bottles/backend/managers/manager.py", line 910, in process_bottle
    os.makedirs(p)
  File "<frozen os>", line 215, in makedirs
  File "<frozen os>", line 215, in makedirs
  File "<frozen os>", line 215, in makedirs
  File "<frozen os>", line 225, in makedirs
20:32:06 (INFO) Catalog installers loaded 
20:32:06 (INFO) Catalog dependencies loaded 
20:32:06 (INFO) Bottles Started! 
Traceback (most recent call last):
  File "/app/share/bottles/bottles/frontend/windows/window.py", line 217, in set_manager
    x for x in self.manager.runners_available if not x.startswith("sys-")
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'runners_available'

Q: What is the root cause of the issue?

A: The root cause of the issue is not yet determined, but it appears to be related to a FileNotFoundError and an AttributeError when attempting to load the configuration file and access the runners_available attribute, respectively.

Q: What is the solution to the issue?

A: The solution to the issue is not yet determined, but it may involve updating the Bottles application to the latest version, reinstalling the application, or modifying the configuration file to resolve the FileNotFoundError and AttributeError issues.

Q: How can I report the issue to the Bottles developers?

A: You can report the issue to the Bottles developers by submitting a bug report through the Bottles website or by contacting the developers directly through their support channels. Be sure to provide detailed information about the issue, including the steps to reproduce it, the debugging information, and any troubleshooting logs.