You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It seems to me like _createIconByName() was called with a path === null, which causes an assertion to fail inside gdk-pixbuf. This ultimately crashes the shell.
There are a couple of ways that _getIconInfo() could return null:
It could be called with name === null
If lookup_icon_for_scale() returns null then a warning will be logged and _getIconInfo() will return null.
If Gtk.IconTheme.get_default() returns null then _getIconInfo() will return null with no logging.
I don't believe (1) is happening because it's called from _cacheOrCreateIconByName() and the check on line 573 guards against this. It's not (2) because I'm not seeing that warning in the log.
By process of elimination I believe it must be (3).
Looking at the docs for gtk_icon_theme_get_default it doesn't say whether it returns null, and I would have assumed it cannot. However checking the implementation in gtkicontheme.c:451 shows this:
So in conclusion I think gtk_icon_theme_get_default() is returning null occasionally, causing AppIndicators_IconActor._getIconInfo() to return null, causing GdkPixbuf.Pixbuf.get_file_info_async() to fail an assertion and crash the gnome-shell.
A possible fix is in #243, but it may be nice to look at a few other fixes:
Could gtk_icon_theme_get_default() be made to never return null?
Or possibly the docs for gtk_icon_theme_get_default() should be updated to make it clear that it can return null in some cases.
Are there any other places where gtk_icon_theme_get_default() is assumed to never return null that could be causing other bugs/crashes?
Related bugs
This seems a little related to some other bug reports: #241, #236, #226. In those three _getIconInfo() appears to be returning null due to branch (2) above because it is logging a warning.
Thanks!
I hope this bug report was helpful. Thanks for your time.
Great work on Ubuntu and related gnome-shell extensions! :)
The text was updated successfully, but these errors were encountered:
Hi!
System details:
Problem summary
Using syncthing-gtk sometimes causes gnome-shell to crash
Problem analysis
I see this error in the log:
It seems to me like
_createIconByName()
was called with apath === null
, which causes an assertion to fail inside gdk-pixbuf. This ultimately crashes the shell.There are a couple of ways that
_getIconInfo()
could return null:name === null
lookup_icon_for_scale()
returns null then a warning will be logged and_getIconInfo()
will return null.Gtk.IconTheme.get_default()
returns null then_getIconInfo()
will return null with no logging.I don't believe (1) is happening because it's called from
_cacheOrCreateIconByName()
and the check on line 573 guards against this. It's not (2) because I'm not seeing that warning in the log.By process of elimination I believe it must be (3).
Looking at the docs for gtk_icon_theme_get_default it doesn't say whether it returns null, and I would have assumed it cannot. However checking the implementation in gtkicontheme.c:451 shows this:
Note that gdk_screen_get_default can return null sometimes.
This is supported by the assertion failure in the log I posted:
Conclusion
So in conclusion I think
gtk_icon_theme_get_default()
is returning null occasionally, causingAppIndicators_IconActor._getIconInfo()
to return null, causingGdkPixbuf.Pixbuf.get_file_info_async()
to fail an assertion and crash the gnome-shell.A possible fix is in #243, but it may be nice to look at a few other fixes:
gtk_icon_theme_get_default()
be made to never return null?gtk_icon_theme_get_default()
should be updated to make it clear that it can return null in some cases.gtk_icon_theme_get_default()
is assumed to never return null that could be causing other bugs/crashes?Related bugs
This seems a little related to some other bug reports: #241, #236, #226. In those three
_getIconInfo()
appears to be returning null due to branch (2) above because it is logging a warning.Thanks!
I hope this bug report was helpful. Thanks for your time.
Great work on Ubuntu and related gnome-shell extensions! :)
The text was updated successfully, but these errors were encountered: