bauh-tray crashes repeatedly on Python 3.13
Describe the bug
bauh-tray crashes immediately (within ~35 seconds) after starting on systems running Python 3.13. The crash results in exit code 134 (SIGABRT) and appears to be a compatibility issue with Python 3.13.
Software Environment
- bauh version: 0.10.7-1.3
- O.S: Garuda Linux (Arch-based)
- Kernel: 6.6.1-zen1-1-zen
- Python version: 3.13.7
- PyQt5 version: 5.15.11-3
- Installation method: package manager (chaotic-aur)
Steps to Reproduce
- Install bauh on a system with Python 3.13.7
- Run
bauh-tray
- Application crashes within 30-40 seconds
Error Output
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/bauh/view/qt/systray.py", line 206, in notify_updates
def notify_updates(self, updates: List[PackageUpdate], notify_user: bool = True):
KeyboardInterrupt
Fatal Python error: Aborted
Thread 0x00007f3214ff96c0 (most recent call first):
File "/usr/lib/python3.13/site-packages/bauh/view/qt/systray.py", line 121 in run
Thread 0x00007f32157fa6c0 (most recent call first):
File "/usr/lib/python3.13/site-packages/bauh/view/qt/systray.py", line 100 in run
Thread 0x00007f3215ffb6c0 (most recent call first):
File "/usr/lib/python3.13/site-packages/bauh/view/qt/systray.py", line 88 in _notify_updates
File "/usr/lib/python3.13/site-packages/bauh/view/qt/systray.py", line 102 in run
Current thread 0x00007f3256087bc0 (most recent call first):
File "/usr/lib/python3.13/site-packages/bauh/app.py", line 67 in main
File "/usr/lib/python3.13/site-packages/bauh/app.py", line 71 in tray
File "/usr/bin/bauh-tray", line 8 in <module>
Extension modules: PyQt5.QtCore, yaml._yaml, PyQt5.QtGui, PyQt5.QtWidgets, simplejson._speedups, charset_normalizer.md (total: 6)
Aborted (core dumped)
Log Evidence
From /tmp/bauh-tray-persistent.log:
=== Bauh Tray Persistent Wrapper Started at Fri 21 Nov 21:34:39 GMT 2025 ===
[21:34:39] Waiting 15s for system tray to initialize...
[21:34:54] bauh-tray process not running, starting it...
[21:34:54] Started bauh-tray (PID: 7290, restart #1)
[21:35:29] bauh-tray process not running, starting it...
[21:35:29] Started bauh-tray (PID: 9075, restart #2)
The crash occurs consistently approximately 35 seconds after startup.
Additional Context
This appears to be a Python version compatibility issue similar to past issues when Python was upgraded from 3.8 to 3.9 (#149) and 3.9 to 3.10. Python 3.13 was released in October 2024 and introduced several changes that can break older Python code, particularly around:
- Free-threaded mode support (PEP 703)
- Changes to the GIL behavior
- Updates to the standard library
The crash specifically occurs in systray.py in the notify_updates function, suggesting there may be threading or signal handling incompatibilities with the new Python version.
Workaround Attempted
None successful yet. The issue persists even after multiple restarts.
Impact
bauh-tray is completely unusable on systems with Python 3.13, which is now the default Python version in rolling-release distributions like Arch Linux and derivatives.
bauh-tray crashes repeatedly on Python 3.13
Describe the bug
bauh-tray crashes immediately (within ~35 seconds) after starting on systems running Python 3.13. The crash results in exit code 134 (SIGABRT) and appears to be a compatibility issue with Python 3.13.
Software Environment
Steps to Reproduce
bauh-trayError Output
Log Evidence
From
/tmp/bauh-tray-persistent.log:The crash occurs consistently approximately 35 seconds after startup.
Additional Context
This appears to be a Python version compatibility issue similar to past issues when Python was upgraded from 3.8 to 3.9 (#149) and 3.9 to 3.10. Python 3.13 was released in October 2024 and introduced several changes that can break older Python code, particularly around:
The crash specifically occurs in
systray.pyin thenotify_updatesfunction, suggesting there may be threading or signal handling incompatibilities with the new Python version.Workaround Attempted
None successful yet. The issue persists even after multiple restarts.
Impact
bauh-tray is completely unusable on systems with Python 3.13, which is now the default Python version in rolling-release distributions like Arch Linux and derivatives.