[Deluge] #3501: Deluge Crash GTK

5 views
Skip to first unread message

Deluge

unread,
Jan 30, 2022, 4:44:27 PM1/30/22
to delug...@googlegroups.com
#3501: Deluge Crash GTK
----------------------------+---------------------
Reporter: Doadin | Type: bug
Status: new | Priority: minor
Milestone: needs verified | Component: Unknown
Version: 2.0.0 | Keywords:
----------------------------+---------------------
PS E:\Program Files\Deluge> .\deluge-debug -L debug -l
E:\Documents\deluge.log
deluge\ui\gtk3\common.py:83: Warning: cannot register existing type
'GdkPixbufGdipAnim'
return Pixbuf.new_from_file_at_size(filename, size, size)
deluge\ui\gtk3\common.py:83: Warning: g_once_init_leave: assertion 'result
!= 0' failed
return Pixbuf.new_from_file_at_size(filename, size, size)
deluge\ui\gtk3\common.py:83: Warning: g_object_new_with_properties:
assertion 'G_TYPE_IS_OBJECT (object_type)' failed
return Pixbuf.new_from_file_at_size(filename, size, size)

--
Ticket URL: <https://dev.deluge-torrent.org/ticket/3501>
Deluge <https://deluge-torrent.org/>
Deluge Project

Deluge

unread,
Jan 30, 2022, 4:45:27 PM1/30/22
to delug...@googlegroups.com
#3501: Deluge Crash GTK
----------------------+----------------------------
Reporter: Doadin | Owner:
Type: bug | Status: new
Priority: blocker | Milestone: needs verified
Component: GTK UI | Version: develop
Resolution: | Keywords:
----------------------+----------------------------
Changes (by Doadin):

* priority: minor => blocker
* version: 2.0.0 => develop
* component: Unknown => GTK UI


--
Ticket URL: <https://dev.deluge-torrent.org/ticket/3501#comment:1>

Deluge

unread,
Jan 30, 2022, 5:11:13 PM1/30/22
to delug...@googlegroups.com
#3501: Deluge Crash GTK
----------------------+----------------------------
Reporter: Doadin | Owner:
Type: bug | Status: new

Priority: blocker | Milestone: needs verified
Component: GTK UI | Version: develop
Resolution: | Keywords:
----------------------+----------------------------

Comment (by Doadin):

Seems to be an issue with a tracker image specifically this one
http://dler.com/favicon.ico

--
Ticket URL: <https://dev.deluge-torrent.org/ticket/3501#comment:2>

Deluge

unread,
Jan 30, 2022, 5:12:59 PM1/30/22
to delug...@googlegroups.com
#3501: Deluge Crash GTK
----------------------+----------------------------
Reporter: Doadin | Owner:
Type: bug | Status: new

Priority: blocker | Milestone: needs verified
Component: GTK UI | Version: develop
Resolution: | Keywords:
----------------------+----------------------------

Comment (by Cas):

This could be an issue that was mentioned by mhertz, I think I saw a patch
he created for his build

--
Ticket URL: <https://dev.deluge-torrent.org/ticket/3501#comment:3>

Deluge

unread,
Jan 30, 2022, 5:13:26 PM1/30/22
to delug...@googlegroups.com
#3501: Deluge Crash GTK
----------------------+---------------------
Reporter: Doadin | Owner:
Type: bug | Status: new
Priority: blocker | Milestone: 2.0.6

Component: GTK UI | Version: develop
Resolution: | Keywords:
----------------------+---------------------
Changes (by Cas):

* milestone: needs verified => 2.0.6


--
Ticket URL: <https://dev.deluge-torrent.org/ticket/3501#comment:4>

Deluge

unread,
Jan 30, 2022, 5:18:14 PM1/30/22
to delug...@googlegroups.com
#3501: Deluge Crash GTK
----------------------+---------------------
Reporter: Doadin | Owner:
Type: bug | Status: new

Priority: blocker | Milestone: 2.0.6
Component: GTK UI | Version: develop
Resolution: | Keywords:
----------------------+---------------------
Description changed by Cas:

Old description:

> PS E:\Program Files\Deluge> .\deluge-debug -L debug -l
> E:\Documents\deluge.log
> deluge\ui\gtk3\common.py:83: Warning: cannot register existing type
> 'GdkPixbufGdipAnim'
> return Pixbuf.new_from_file_at_size(filename, size, size)
> deluge\ui\gtk3\common.py:83: Warning: g_once_init_leave: assertion
> 'result != 0' failed
> return Pixbuf.new_from_file_at_size(filename, size, size)
> deluge\ui\gtk3\common.py:83: Warning: g_object_new_with_properties:
> assertion 'G_TYPE_IS_OBJECT (object_type)' failed
> return Pixbuf.new_from_file_at_size(filename, size, size)

New description:

{{{


PS E:\Program Files\Deluge> .\deluge-debug -L debug -l
E:\Documents\deluge.log
deluge\ui\gtk3\common.py:83: Warning: cannot register existing type
'GdkPixbufGdipAnim'
return Pixbuf.new_from_file_at_size(filename, size, size)
deluge\ui\gtk3\common.py:83: Warning: g_once_init_leave: assertion 'result
!= 0' failed
return Pixbuf.new_from_file_at_size(filename, size, size)
deluge\ui\gtk3\common.py:83: Warning: g_object_new_with_properties:
assertion 'G_TYPE_IS_OBJECT (object_type)' failed
return Pixbuf.new_from_file_at_size(filename, size, size)
}}}

--

--
Ticket URL: <https://dev.deluge-torrent.org/ticket/3501#comment:5>

Deluge

unread,
Jan 30, 2022, 5:19:07 PM1/30/22
to delug...@googlegroups.com
#3501: Deluge Crash GTK
----------------------+---------------------
Reporter: Doadin | Owner:
Type: bug | Status: new

Priority: blocker | Milestone: 2.0.6
Component: GTK UI | Version: develop
Resolution: | Keywords:
----------------------+---------------------

Comment (by Doadin):

@cas maybe https://github.com/mhertz/deluge2/blob/master/deluge-
build/common.patch

--
Ticket URL: <https://dev.deluge-torrent.org/ticket/3501#comment:6>

Deluge

unread,
Jan 30, 2022, 5:34:54 PM1/30/22
to delug...@googlegroups.com
#3501: Deluge Crash GTK
----------------------+---------------------
Reporter: Doadin | Owner:
Type: bug | Status: new

Priority: blocker | Milestone: 2.0.6
Component: GTK UI | Version: develop
Resolution: | Keywords:
----------------------+---------------------

Comment (by Doadin):

From what I have been able to gather so far it is a specific icon not the
amount of icons. I tried adding several more trackers to get more icons
loading and it was fine however if I have a torrent with only dler.com
tracker deluge crashes.

--
Ticket URL: <https://dev.deluge-torrent.org/ticket/3501#comment:7>

Deluge

unread,
Jan 30, 2022, 5:41:49 PM1/30/22
to delug...@googlegroups.com
#3501: Deluge Crash GTK
----------------------+---------------------
Reporter: Doadin | Owner:
Type: bug | Status: new

Priority: blocker | Milestone: 2.0.6
Component: GTK UI | Version: develop
Resolution: | Keywords:
----------------------+---------------------

Comment (by Doadin):

I think its pretty confirmed as I can add more trackers and they load but
if I add or remove that one tracker it crashes. And if I set that function
to print the file its loading every time before the crash its always that
ico.

--
Ticket URL: <https://dev.deluge-torrent.org/ticket/3501#comment:8>

Deluge

unread,
Jan 30, 2022, 5:44:55 PM1/30/22
to delug...@googlegroups.com
#3501: Deluge Crash GTK
----------------------+---------------------
Reporter: Doadin | Owner:
Type: bug | Status: new

Priority: blocker | Milestone: 2.0.6
Component: GTK UI | Version: develop
Resolution: | Keywords:
----------------------+---------------------

Comment (by Cas):

That's the one.

Is the package missing the optional dependency pillow that is used for
resizing tracker icons. Could that fix this?

--
Ticket URL: <https://dev.deluge-torrent.org/ticket/3501#comment:9>

Deluge

unread,
Jan 30, 2022, 5:50:33 PM1/30/22
to delug...@googlegroups.com
#3501: Deluge Crash GTK
----------------------+---------------------
Reporter: Doadin | Owner:
Type: bug | Status: new

Priority: blocker | Milestone: 2.0.6
Component: GTK UI | Version: develop
Resolution: | Keywords:
----------------------+---------------------

Comment (by Doadin):

{{{
if filename ==
"C:\\Users\\bob\\AppData\\Roaming\\deluge\\icons\\dler.org.ico":
return create_blank_pixbuf(size)
else:
return Pixbuf.new_from_file_at_size(filename, size, size)
}}}

Stops the crash

--
Ticket URL: <https://dev.deluge-torrent.org/ticket/3501#comment:10>

Deluge

unread,
Jan 30, 2022, 5:53:32 PM1/30/22
to delug...@googlegroups.com
#3501: Deluge Crash GTK
----------------------+---------------------
Reporter: Doadin | Owner:
Type: bug | Status: new

Priority: blocker | Milestone: 2.0.6
Component: GTK UI | Version: develop
Resolution: | Keywords:
----------------------+---------------------

Comment (by Doadin):

I get this even running from python which has pillow installed.

--
Ticket URL: <https://dev.deluge-torrent.org/ticket/3501#comment:11>

Deluge

unread,
Feb 1, 2022, 11:28:33 AM2/1/22
to delug...@googlegroups.com
#3501: Deluge Crash GTK
----------------------+---------------------
Reporter: Doadin | Owner:
Type: bug | Status: new

Priority: blocker | Milestone: 2.0.6
Component: GTK UI | Version: develop
Resolution: | Keywords:
----------------------+---------------------

Comment (by Cas):

We need to be able to replicate. Can you upload the copy of the icon
stored locally? Also what are the trackers in the torrent?

--
Ticket URL: <https://dev.deluge-torrent.org/ticket/3501#comment:12>

Deluge

unread,
Feb 1, 2022, 12:27:36 PM2/1/22
to delug...@googlegroups.com
#3501: Deluge Crash GTK
----------------------+---------------------
Reporter: Doadin | Owner:
Type: bug | Status: new

Priority: blocker | Milestone: 2.0.6
Component: GTK UI | Version: develop
Resolution: | Keywords:
----------------------+---------------------

Comment (by Cas):

Finally replicated on Windows and it's not quite as obvious as it seems. I
shall report my findings for now and then we can consider reporting
upstream (gvsbuild and/or gdk-pixbuf) and determining best fix.

The problem can be replicated in a simple Python repl by switching types
loaded, specifically gif or ico types on Windows:

{{{
from gi.repository.GdkPixbuf import Pixbuf
Pixbuf.new_from_file("any.gif")
Pixbuf.new_from_file("any.ico")
<stdin>:1: Warning: cannot register existing type 'GdkPixbufGdipAnim'
<stdin>:1: Warning: g_once_init_leave: assertion 'result != 0' failed
<stdin>:1: Warning: g_object_new_with_properties: assertion
'G_TYPE_IS_OBJECT (object_type)' failed
}}}

So what happens with Deluge is that a png favicon is loaded followed by an
ico favicon (or vice versa) resulting in a crash. I found this snippet of
information in this old Inkscape bug:
https://bugs.launchpad.net/inkscape/+bug/1467103

As we have found png (and jpeg) are unaffected and a likely is related to
gvsbuild using
[https://github.com/wingtk/gvsbuild/blob/b6e8b545580e0115c6c9c06ad61f60041d87b619/gvsbuild/projects.py#L510
native_windows_loaders=true] which disables gdk-pixbuf loaders for
[https://github.com/GNOME/gdk-
pixbuf/blob/b9f04547aa00abab67090995d67e4ad80fe84614/gdk-
pixbuf/meson.build#L15 gif,ico & bmp]

To workaround this crashing on Windows we can disable loading gif,ico &
bmp or convert all ico, gif and bmp to png, not ideal either way...
Otherwise we need to find a gdk-pixbuf build option that gvsbuild can use.

--
Ticket URL: <https://dev.deluge-torrent.org/ticket/3501#comment:13>

Deluge

unread,
Feb 1, 2022, 3:37:51 PM2/1/22
to delug...@googlegroups.com
#3501: Deluge Crash GTK
----------------------+---------------------
Reporter: Doadin | Owner:
Type: bug | Status: new

Priority: blocker | Milestone: 2.0.6
Component: GTK UI | Version: develop
Resolution: | Keywords:
----------------------+---------------------

Comment (by Doadin):

It seems there are several open bug reports for ico files and the general
census seems to be they don't have anyone who knows ico well to fix the
issues, probably easiest for us to just ignore ico tracker icons, imo
don't care about the icons anyways so if some don't load w.e. Id rather
have a blank then waste resources converting.

--
Ticket URL: <https://dev.deluge-torrent.org/ticket/3501#comment:14>

Deluge

unread,
Feb 7, 2022, 7:13:51 AM2/7/22
to delug...@googlegroups.com
#3501: Deluge Crash GTK
----------------------+---------------------
Reporter: Doadin | Owner:
Type: bug | Status: new

Priority: blocker | Milestone: 2.0.6
Component: GTK UI | Version: develop
Resolution: | Keywords:
----------------------+---------------------

Comment (by Cas):

Reported to gvsbuild: https://github.com/wingtk/gvsbuild/issues/489

This is not specific to the image file content it is a problem with the
loaders on Windows.

--
Ticket URL: <https://dev.deluge-torrent.org/ticket/3501#comment:15>

Deluge

unread,
Feb 7, 2022, 7:14:53 AM2/7/22
to delug...@googlegroups.com
#3501: GdkPixbuf crash with .ico tracker icons on Windows
----------------------+---------------------
Reporter: Doadin | Owner:
Type: bug | Status: new

Priority: blocker | Milestone: 2.0.6
Component: GTK UI | Version: develop
Resolution: | Keywords:
----------------------+---------------------

--
Ticket URL: <https://dev.deluge-torrent.org/ticket/3501#comment:16>

Deluge

unread,
Feb 13, 2022, 9:22:37 AM2/13/22
to delug...@googlegroups.com
#3501: GdkPixbuf crash with .ico tracker icons on Windows
----------------------+---------------------
Reporter: Doadin | Owner:
Type: bug | Status: new

Priority: blocker | Milestone: 2.0.6
Component: GTK UI | Version: develop
Resolution: | Keywords:
----------------------+---------------------

Comment (by Cas):

Workaround applied [90744dc2e]

--
Ticket URL: <https://dev.deluge-torrent.org/ticket/3501#comment:17>

Reply all
Reply to author
Forward
0 new messages