Skip to content

[Bug]: GTK Assertion Failure Crash on Launch/Initialization #3886

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

Open
bannert1337 opened this issue May 1, 2025 · 0 comments
Open

[Bug]: GTK Assertion Failure Crash on Launch/Initialization #3886

bannert1337 opened this issue May 1, 2025 · 0 comments

Comments

@bannert1337
Copy link

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

  1. Install Bottles via Flatpak from Flathub.
  2. Launch Bottles using flatpak run com.usebottles.bottles in the terminal.
  3. 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant