Opened 6 months ago

Last modified 6 months ago

#3593 new bug

Deluge GTK segmentation fault

Reported by: homedirectory Owned by:
Priority: minor Milestone: needs verified
Component: GTK UI Version: 2.1.0
Keywords: gtk, segfault Cc:

Description

Upon launching deluge-gtk I get a segmentation fault, which I have linked to the "show_piecesbar" option in gtk3ui.conf. This option, when set to true, causes the segfault. Mind that both web and console versions work fine. I'm currently able to work around this by setting "show_piecesbar" to false.

Here is the output of deluge -L debug:

08:22:00 [DEBUG   ][deluge.configmanager:91  ] Getting config: ui.conf
08:22:00 [DEBUG   ][deluge.config:203 ] Setting key "default_ui" to: gtk (of type: <class 'str'>)
08:22:00 [DEBUG   ][deluge.config:441 ] Config /home/jjnkn/.config/deluge/ui.conf version: 1.1 loaded: {'default_ui': 'gtk'}
08:22:00 [INFO    ][deluge.ui.ui_entry:66  ] Deluge ui 2.1.1
08:22:00 [INFO    ][deluge.i18n.util  :101 ] Setting up translations from /usr/lib/python3.10/site-packages/deluge/i18n
08:22:00 [INFO    ][deluge.ui.ui      :68  ] Deluge ui 2.1.1
08:22:00 [DEBUG   ][deluge.ui.ui      :69  ] options: Namespace(config=None, logfile=None, loglevel='debug', logrotate=None, quiet=False, profile=False, torrents=[], remaining=[])
08:22:00 [INFO    ][deluge.ui.ui      :70  ] Starting gtk ui..
08:22:01 [INFO    ][deluge.i18n.util                  :101 ] Setting up translations from /usr/lib/python3.10/site-packages/deluge/i18n
08:22:01 [DEBUG   ][deluge.ui.gtk3.common             :285 ] gconf not available, so will not attempt to register magnet URI handler
08:22:01 [DEBUG   ][deluge.configmanager              :91  ] Getting config: gtk3ui.conf
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "standalone" to: True (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "interactive_add" to: True (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "focus_add_dialog" to: True (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "enable_system_tray" to: True (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "close_to_tray" to: False (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "start_in_tray" to: False (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "enable_appindicator" to: False (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "lock_tray" to: False (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "tray_password" to:  (of type: <class 'str'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "check_new_releases" to: True (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "default_load_path" to: None (of type: <class 'NoneType'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "window_maximized" to: False (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "window_x_pos" to: 0 (of type: <class 'int'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "window_y_pos" to: 0 (of type: <class 'int'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "window_width" to: 640 (of type: <class 'int'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "window_height" to: 480 (of type: <class 'int'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "pref_dialog_width" to: None (of type: <class 'NoneType'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "pref_dialog_height" to: None (of type: <class 'NoneType'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "edit_trackers_dialog_width" to: None (of type: <class 'NoneType'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "edit_trackers_dialog_height" to: None (of type: <class 'NoneType'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "tray_download_speed_list" to: [5.0, 10.0, 30.0, 80.0, 300.0] (of type: <class 'list'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "tray_upload_speed_list" to: [5.0, 10.0, 30.0, 80.0, 300.0] (of type: <class 'list'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "connection_limit_list" to: [50, 100, 200, 300, 500] (of type: <class 'list'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "enabled_plugins" to: [] (of type: <class 'list'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "show_connection_manager_on_start" to: True (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "autoconnect" to: False (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "autoconnect_host_id" to: None (of type: <class 'NoneType'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "autostart_localhost" to: False (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "autoadd_queued" to: False (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "choose_directory_dialog_path" to: /home/jjnkn/Downloads (of type: <class 'str'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "show_new_releases" to: True (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "show_sidebar" to: True (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "show_toolbar" to: True (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "show_statusbar" to: True (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "show_tabsbar" to: True (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "tabsbar_tab_pos" to: top (of type: <class 'str'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "tabsbar_position" to: 235 (of type: <class 'int'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "sidebar_show_zero" to: False (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "sidebar_show_trackers" to: True (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "sidebar_show_owners" to: True (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "sidebar_position" to: 170 (of type: <class 'int'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "show_rate_in_title" to: False (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "createtorrent.trackers" to: [] (of type: <class 'list'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "show_piecesbar" to: False (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "detect_urls" to: True (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "pieces_color_missing" to: [65535, 0, 0] (of type: <class 'list'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "pieces_color_waiting" to: [4874, 56494, 0] (of type: <class 'list'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "pieces_color_downloading" to: [65535, 55255, 0] (of type: <class 'list'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "pieces_color_completed" to: [4883, 26985, 56540] (of type: <class 'list'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "focus_main_window_on_add" to: True (of type: <class 'bool'>)
08:22:01 [DEBUG   ][deluge.config                     :203 ] Setting key "language" to: None (of type: <class 'NoneType'>)
08:22:01 [DEBUG   ][deluge.config                     :441 ] Config /home/jjnkn/.config/deluge/gtk3ui.conf version: 1.1 loaded: {'standalone': True, 'interactive_add': True, 'focus_add_dialog': True, 'enable_system_tray': True, 'close_to_tray': False, 'start_in_tray': False, 'enable_appindicator': False, 'lock_tray': False, 'tray_password': '', 'check_new_releases': True, 'default_load_path': '/mnt/big/torrents', 'window_maximized': True, 'window_x_pos': 167, 'window_y_pos': 60, 'window_width': 1368, 'window_height': 850, 'pref_dialog_width': 745, 'pref_dialog_height': 557, 'edit_trackers_dialog_width': 726, 'edit_trackers_dialog_height': 439, 'tray_download_speed_list': [5.0, 10.0, 30.0, 80.0, 10000.0], 'tray_upload_speed_list': [5.0, 10.0, 30.0, 80.0, 300.0], 'connection_limit_list': [50, 100, 200, 300, 500], 'enabled_plugins': [], 'show_connection_manager_on_start': True, 'autoconnect': False, 'autoconnect_host_id': None, 'autostart_localhost': False, 'autoadd_queued': False, 'choose_directory_dialog_path': '/home/jjnkn/Downloads', 'show_new_releases': False, 'show_sidebar': True, 'show_toolbar': True, 'show_statusbar': True, 'show_tabsbar': True, 'tabsbar_tab_pos': 'top', 'tabsbar_position': 490, 'sidebar_show_zero': False, 'sidebar_show_trackers': True, 'sidebar_show_owners': True, 'sidebar_position': 170, 'show_rate_in_title': True, 'createtorrent.trackers': [], 'show_piecesbar': True, 'detect_urls': False, 'pieces_color_missing': [65535, 0, 0], 'pieces_color_waiting': [4874, 56494, 0], 'pieces_color_downloading': [65535, 55255, 0], 'pieces_color_completed': [4883, 26985, 56540], 'focus_main_window_on_add': True, 'language': None}
08:22:01 [DEBUG   ][deluge.configmanager              :91  ] Getting config: gtk3ui.conf
08:22:01 [DEBUG   ][deluge.ui.gtk3.ipcinterface       :112 ] Checking if lockfile exists: /home/jjnkn/.config/deluge/ipc/deluge-gtk.lock
08:22:01 [DEBUG   ][deluge.ui.gtk3.ipcinterface       :176 ] Processing args from other process: []
08:22:01 [DEBUG   ][deluge.ui.gtk3.ipcinterface       :179 ] Not connected to host.. Adding to queue.
08:22:01 [DEBUG   ][deluge.ui.sessionproxy            :30  ] SessionProxy init..
08:22:01 [DEBUG   ][deluge.configmanager              :91  ] Getting config: gtk3ui.conf
08:22:01 [DEBUG   ][deluge.config                     :346 ] Registering function for show_rate_in_title key..
08:22:01 [DEBUG   ][deluge.ui.gtk3.menubar            :29  ] MenuBar init..
08:22:01 [DEBUG   ][deluge.configmanager              :91  ] Getting config: gtk3ui.conf
08:22:01 [DEBUG   ][deluge.ui.gtk3.toolbar            :22  ] ToolBar Init..
08:22:01 [DEBUG   ][deluge.configmanager              :91  ] Getting config: gtk3ui.conf
08:22:01 [DEBUG   ][deluge.ui.gtk3.listview           :125 ] ListView initialized..
08:22:01 [INFO    ][deluge.ui.gtk3.common             :361 ] Opening torrentview.state for load: /home/jjnkn/.config/deluge/gtk3ui_state/torrentview.state
08:22:01 [INFO    ][deluge.ui.gtk3.common             :368 ] Successfully loaded torrentview.state: /home/jjnkn/.config/deluge/gtk3ui_state/torrentview.state
08:22:01 [DEBUG   ][deluge.ui.gtk3.torrentview        :248 ] TorrentView Init..
08:22:01 [INFO    ][deluge.ui.gtk3.common             :361 ] Opening tabs.state for load: /home/jjnkn/.config/deluge/gtk3ui_state/tabs.state
08:22:01 [INFO    ][deluge.ui.gtk3.common             :368 ] Successfully loaded tabs.state: /home/jjnkn/.config/deluge/gtk3ui_state/tabs.state
08:22:01 [DEBUG   ][deluge.configmanager              :91  ] Getting config: gtk3ui.conf
08:22:01 [DEBUG   ][deluge.config                     :346 ] Registering function for show_piecesbar key..
Segmentation fault (core dumped)

And here is the output of a GDB session:

(~) -> gdb --args python /usr/bin/deluge
...
(gdb) run
Starting program: /usr/bin/python /usr/bin/deluge
Downloading separate debug info for system-supplied DSO at 0x7ffff7fc8000
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Downloading separate debug info for /usr/lib/python3.10/site-packages/zope/interface/_zope_interface_coptimizations.cpython-310-x86_64-linux-gnu.so
[Detaching after vfork from child process 4576]
Downloading separate debug info for /usr/lib/liblz4.so.1
Downloading separate debug info for /usr/lib/python3.10/site-packages/setproctitle/_setproctitle.cpython-310-x86_64-linux-gnu.so
[Detaching after vfork from child process 4577]
[Detaching after vfork from child process 4578]
Downloading separate debug info for /usr/lib/libvorbisfile.so.3
Downloading separate debug info for /usr/lib/libvorbis.so.0
Downloading separate debug info for /usr/lib/libogg.so.0
[New Thread 0x7ffff07ff6c0 (LWP 4579)]
[New Thread 0x7fffefffe6c0 (LWP 4580)]
[New Thread 0x7fffef7fd6c0 (LWP 4581)]
Downloading separate debug info for /usr/lib/python3.10/site-packages/_cffi_backend.cpython-310-x86_64-linux-gnu.so
Downloading separate debug info for /usr/lib/python3.10/site-packages/rencode/_rencode.cpython-310-x86_64-linux-gnu.so
Downloading separate debug info for /usr/lib/python3.10/site-packages/PIL/_imaging.cpython-310-x86_64-linux-gnu.so
Downloading separate debug info for /usr/lib/libopenjp2.so.7
Downloading separate debug info for /usr/lib/libstartup-notification-1.so.0
[New Thread 0x7fffed7ff6c0 (LWP 4582)]
[Thread 0x7fffed7ff6c0 (LWP 4582) exited]
[New Thread 0x7fffed7ff6c0 (LWP 4583)]
[New Thread 0x7fffeceb76c0 (LWP 4584)]
[Thread 0x7fffed7ff6c0 (LWP 4583) exited]
[Thread 0x7fffeceb76c0 (LWP 4584) exited]
[New Thread 0x7fffeceb76c0 (LWP 4585)]
[New Thread 0x7fffed7ff6c0 (LWP 4586)]
[New Thread 0x7fffd7fff6c0 (LWP 4587)]
[Thread 0x7fffed7ff6c0 (LWP 4586) exited]
[Thread 0x7fffd7fff6c0 (LWP 4587) exited]

Thread 1 "deluge-gtk" received signal SIGSEGV, Segmentation fault.
__strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:76
76              VPCMPEQ (%rdi), %ymm0, %ymm1

System and Deluge and versions:

(~) -> deluge --version
deluge 2.1.1
libtorrent: 2.0.8.0
Python: 3.10.10
OS: Linux Arch Linux
(~) -> uname -a
Linux station 6.2.6-arch1-1 #1 SMP PREEMPT_DYNAMIC Mon, 13 Mar 2023 17:02:08 +0000 x86_64 GNU/Linux

Change History (4)

comment:1 Changed 6 months ago by pescepalla

Can confirm this also happens on my system, another Arch Linux laptop. The suggested workaround restores functionality.

$ deluge --version && uname -a
deluge 2.1.1
libtorrent: 2.0.8.0
Python: 3.10.10
OS: Linux Arch Linux rolling n/a
Linux stellaris 6.2.6-arch1-1 #1 SMP PREEMPT_DYNAMIC Mon, 13 Mar 2023 17:02:08 +0000 x86_64 GNU/Linux

comment:2 Changed 6 months ago by hockeymikey

Same issue here and another Arch user.

deluge 2.1.1
libtorrent: 2.0.8.0
Python: 3.10.10
OS: Linux Arch Linux rolling n/a
Linux Blah 6.2.6-AMD-znver2 #1 SMP PREEMPT_DYNAMIC Mon Mar 13 11:15:32 CDT 2023 x86_64 GNU/Linux

comment:3 Changed 6 months ago by keepitsimpleengineer

Same issue here with Manjaro

deluge 2.1.1
libtorrent: 2.0.8.0
Python: 3.10.10
OS: Linux Manjaro Linux 22.1.0 Talos
Linux KISE-055 6.1.21-1-MANJARO #1 SMP PREEMPT_DYNAMIC Wed Mar 22 21:14:13 UTC 2023 x86_64 GNU/Linux

comment:4 Changed 6 months ago by ThinkRedstone

Same issue here with Arch:

deluge 2.1.1
libtorrent: 2.0.8.0
Python: 3.10.10
OS: Linux Arch Linux rolling n/a

Setting "show_piecesbar" to false in ~/.config/deluge/gtk3ui.conf solved the issue.

Note: See TracTickets for help on using tickets.