Description
Describe the bug
Bottles crashes immediately upon launch or during initial setup/component installation with a GTK assertion failure.
Expected behavior: Bottles should launch successfully, display the main window, and allow users to interact with bottles and their settings without crashing.
To Reproduce
- Install Bottles via Flatpak from Flathub.
- Launch Bottles using
flatpak run com.usebottles.bottles
in the terminal. - Observe the application crash shortly after starting, with a GTK assertion failure message printed in the terminal.
(Note: With a previous installation using the paru
AUR helper, a similar GTK crash occurred after successfully creating a bottle and attempting to interact with it, following an initial TypeError
when clicking the bottle in the list view.)
Package
Flatpak from Flathub
Distribution
Arch Linux
Debugging Information
Official Package: true
Version: '51.21'
DE/WM: gnome
Display:
X.org: true
X.org (port): :0
Wayland: true
Graphics:
vendors:
amd:
vendor: amd
envs:
DRI_PRIME: '1'
icd: /usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/radeon_icd.x86_64.json:/usr/lib/i386-linux-gnu/GL/vulkan/icd.d/radeon_icd.i686.json
prime:
integrated: null
discrete: null
Kernel:
Type: Linux
Version: 6.14.4-2-cachyos
Disk:
Total: 12501409792
Free: 12501245952
RAM:
MemTotal: 23.3GiB
MemAvailable: 11.7GiB
Bottles_envs: null
Troubleshooting Logs
➜ ~ flatpak run com.usebottles.bottles
14:18:49 (INFO) Launching with URI: None
14:18:49 (INFO) [Activate] request received.
14:18:49 (INFO) Bottles Started!
(bottles:2): Gdk-WARNING **: 14:18:49.359: ../gdk/wayland/gdkcursor-wayland.c:210 cursor image size (32) not an integer multiple of theme size (24)
14:18:49 (INFO) Performing Bottles checks…
14:18:49 (INFO) Dxvks found:
- dxvk-2.6.1
14:18:49 (INFO) Vkd3ds found:
- vkd3d-proton-2.14.1
14:18:49 (INFO) Runners found:
- sys-wine-10.0
14:18:49 (INFO) Catalog installers loaded
14:18:49 (INFO) Catalog dependencies loaded
14:18:49 (INFO) Catalog components loaded
(bottles:2): Gdk-WARNING **: 14:18:50.905: ../gdk/wayland/gdkcursor-wayland.c:210 cursor image size (32) not an integer multiple of theme size (24)
(bottles:2): Gdk-WARNING **: 14:18:50.946: ../gdk/wayland/gdkcursor-wayland.c:210 cursor image size (32) not an integer multiple of theme size (24)
14:18:53 (INFO) Performing Bottles checks…
14:18:53 (INFO) Dxvks found:
- dxvk-2.6.1
14:18:53 (INFO) Vkd3ds found:
- vkd3d-proton-2.14.1
14:18:53 (WARNING) No nvapi found.
14:18:53 (INFO) Installing component: [dxvk-nvapi-v0.9.0].
14:18:53 (WARNING) File [dxvk-nvapi-v0.9.0.tar.gz] already exists in temp, skipping.
14:18:53 (INFO) Nvapis found:
- dxvk-nvapi-v0.9.0
14:18:53 (INFO) Component installed: nvapi dxvk-nvapi-v0.9.0
14:18:53 (WARNING) No latencyflex found.
14:18:53 (INFO) Installing component: [latencyflex-v0.1.1].
latencyflex-v0.1.1.tar.xz (100%) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ (372.0KiB/372.0KiB - 703.4KiB)
14:18:55 (INFO) Renaming [latencyflex-v0.1.1.tar.xz] to [latencyflex-v0.1.1.tar.xz].
14:18:55 (INFO) Component installed: latencyflex latencyflex-v0.1.1
14:18:55 (WARNING) No WineBridge found.
14:18:55 (INFO) Installing component: [winebridge-1.1.0].
(bottles:2): Gdk-WARNING **: 14:18:55.353: ../gdk/wayland/gdkcursor-wayland.c:210 cursor image size (32) not an integer multiple of theme size (24)
WineBridge-eb78a75.tar.xz (100%) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ (3.3MiB/3.3MiB - 5.5MiB)
14:18:56 (INFO) Renaming [WineBridge-eb78a75.tar.xz] to [WineBridge-eb78a75.tar.xz].
14:18:56 (INFO) Component installed: winebridge winebridge-1.1.0
14:18:56 (INFO) Runners found:
- sys-wine-10.0
14:18:56 (WARNING) No managed runners found.
14:18:57 (INFO) Installing component: [soda-9.0-1].
soda-9.0-1-x86_64.tar.xz (100%) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ (59.1MiB/59.1MiB - 52.9MiB)
14:18:59 (INFO) Renaming [soda-9.0-1-x86_64.tar.xz] to [soda-9.0-1-x86_64.tar.xz].
**
Gtk:ERROR:../gtk/gtkwidget.c:3909:gtk_widget_ensure_allocate_on_children: assertion failed: (!priv->resize_needed)
Bail out! Gtk:ERROR:../gtk/gtkwidget.c:3909:gtk_widget_ensure_allocate_on_children: assertion failed: (!priv->resize_needed)
Additional context
Initially, I installed Bottles via the chaotic-aur
repository on Arch Linux using paru
. With that version, Bottles would launch, but clicking on any created bottle in the list view would result in a TypeError: nothing connected to <bound method PreferencesView.__set_runner of ...>
traceback printed to the console, and the bottle settings would not open. After creating a new bottle with the AUR version, the application crashed with a similar GTK assertion failure as seen in the Flatpak log.
I have since removed the AUR version and installed the Flatpak version from Flathub (com.usebottles.bottles
). With the Flatpak version, the application now crashes with the GTK assertion failure much earlier, during the initial setup/component installation phase upon first launch, preventing the main window from even appearing or any interaction with bottles.
I also cleared the ~/.local/share/bottles/
directory before installing the Flatpak version to ensure a clean state.
The Gdk Wayland warnings about cursor size were also present in the Flatpak log, though they don't seem directly related to the crash itself.
# Previous log from AUR installation (after bottle creation, before crash)
Traceback (most recent call last):
File "/usr/share/bottles/bottles/frontend/views/list.py", line 115, in show_details
self.window.page_details.view_preferences.update_combo_components()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/share/bottles/bottles/frontend/views/bottle_preferences.py", line 381, in update_combo_components
self.combo_runner.handler_block_by_func(self.__set_runner)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
TypeError: nothing connected to <bound method PreferencesView.__set_runner of <bottle_preferences.PreferencesView object at 0x7dee7b5b7ac0 (DetailsPreferences at 0x639cda4bd480)>>
# ... (repeated multiple times) ...
# Followed by a similar GTK crash as below:
**
Gtk:ERROR:../gtk/gtk/gtkwidget.c:4022:gtk_widget_ensure_allocate_on_children: assertion failed: (!priv->resize_needed)
Bail out! Gtk:ERROR:../gtk/gtk/gtkwidget.c:4022:gtk_widget_ensure_allocate_on_children: assertion failed: (!priv->resize_needed)
[1] 66914 IOT instruction (core dumped) bottles