After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 774805 - animations: Guard against empty animations
animations: Guard against empty animations
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2016-11-21 17:38 UTC by Florian Müllner
Modified: 2017-01-04 16:28 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
animations: Guard against empty animations (1.02 KB, patch)
2016-11-21 17:38 UTC, Florian Müllner
committed Details | Review
texture-cache: Warn when loading sliced image fails (2.07 KB, patch)
2016-11-22 17:23 UTC, Florian Müllner
committed Details | Review

Description Florian Müllner 2016-11-21 17:38:36 UTC
Not exactly sure how we get there (missing pixbuf loader? screwed-up custom theming?), but apparently this happens to some people:
https://bugzilla.redhat.com/show_bug.cgi?id=1350303
Comment 1 Florian Müllner 2016-11-21 17:38:40 UTC
Created attachment 340462 [details] [review]
animations: Guard against empty animations

Our animation code not only relies on the animation being loaded
(which we handle), but also on having at least one frame - otherwise
the computation of the next frame index will turn up NaN through
division by zero. Guard against this case by treating empty animations
as not loaded.
Comment 2 Rui Matos 2016-11-22 15:45:58 UTC
Review of attachment 340462 [details] [review]:

yeah, definitely looks good. maybe StTextureCache should warn when this happens to make the problem easier to diagnose too?
Comment 3 Florian Müllner 2016-11-22 17:23:59 UTC
Created attachment 340536 [details] [review]
texture-cache: Warn when loading sliced image fails

(In reply to Rui Matos from comment #2)
> Maybe StTextureCache should warn when this happens to make the problem
> easier to diagnose too?

Makes sense to me.


Sliced images are loaded into a group actor with one child actor
per slice. In case loading the image fails, we currently quietly
return the empty group actor, which makes diagnosing problems
unnecessarily hard - just be a bit more verbose on failure.
Comment 4 Rui Matos 2016-11-22 17:31:25 UTC
Review of attachment 340536 [details] [review]:

looks good
Comment 5 Florian Müllner 2016-11-22 17:38:57 UTC
Attachment 340462 [details] pushed as e5101eb - animations: Guard against empty animations
Attachment 340536 [details] pushed as 1de1fd4 - texture-cache: Warn when loading sliced image fails
Comment 6 Leho Kraav (@lkraav :macmaN) 2016-11-27 23:27:09 UTC
Is this going to get backported to 3.22? I just had a hung gdm-3.22.1 login again, gnome-shell is at 3.22.2. Suspend + resume fortunately released the deadlock on second attempt, so I didn't have to kill off my whole desktop state.
Comment 7 Florian Müllner 2016-11-28 11:00:03 UTC
(In reply to Leho Kraav (@lkraav :macmaN) from comment #6)
> Is this going to get backported to 3.22?

Sure, I just pushed the patches to the gnome-3-22 branch, so they'll get included in the next release.
Comment 8 Federico Mena Quintero 2017-01-04 16:28:55 UTC
Just so I can find this later, the log message is "can't convert this._frame to an integer".