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 759668 - Drawing failures with GTK+ master
Drawing failures with GTK+ master
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: .General
3.19.x
Other Linux
: Normal blocker
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2015-12-19 16:20 UTC by Michael Catanzaro
Modified: 2016-01-08 18:21 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Screencast (748.26 KB, application/octet-stream)
2015-12-21 00:41 UTC, Michael Catanzaro
Details
Reproducer (742 bytes, text/plain)
2016-01-05 16:19 UTC, Timm Bäder
Details

Description Michael Catanzaro 2015-12-19 16:20:59 UTC
Some change related to CSS gadgets has caused horrible drawing failures in Epiphany:

(epiphany:8862): Gtk-WARNING **: drawing failure for widget 'GtkProgressBar': invalid matrix (not invertible)

(epiphany:8862): Gtk-WARNING **: drawing failure for widget 'GtkOverlay': invalid matrix (not invertible)

(epiphany:8862): Gtk-WARNING **: drawing failure for widget 'GtkPaned': invalid matrix (not invertible)

(epiphany:8862): Gtk-WARNING **: drawing failure for widget 'EphyEmbed': invalid matrix (not invertible)

(epiphany:8862): Gtk-WARNING **: drawing failure for widget 'EphyNotebook': invalid matrix (not invertible)

(epiphany:8862): Gtk-WARNING **: drawing failure for widget 'EphyWindow': invalid matrix (not invertible)

(epiphany:8862): Gtk-WARNING **: drawing failure for widget 'GtkProgressBar': invalid matrix (not invertible)

(epiphany:8862): Gtk-WARNING **: drawing failure for widget 'GtkOverlay': invalid matrix (not invertible)

(epiphany:8862): Gtk-WARNING **: drawing failure for widget 'GtkPaned': invalid matrix (not invertible)

(epiphany:8862): Gtk-WARNING **: drawing failure for widget 'EphyEmbed': invalid matrix (not invertible)

(epiphany:8862): Gtk-WARNING **: drawing failure for widget 'EphyNotebook': invalid matrix (not invertible)

(epiphany:8862): Gtk-WARNING **: drawing failure for widget 'EphyWindow': invalid matrix (not invertible)

Bisection in progress....
Comment 1 Michael Catanzaro 2015-12-19 16:54:41 UTC
(In reply to Michael Catanzaro from comment #0)
> Bisection in progress....

Didn't go well; there was a big range of commits that just crashed:

There are only 'skip'ped commits left to test.
The first bad commit could be any of:
1f6efbf66906350a930fd4766f06bd849a30e96f
fffa84b843c1cd2398945115fad43c911fca99a4
3a77da9df2d5329a322204f09be4fa6100c85a48
9e278293ca98b25649b93abe1bed385bc607eb2d
17be791b0b8533e08dcff6a395dbee26851e7518
4dee06e04facc4b5be553afffd375517c3536598
20e1ff44e8d7142ac2b7bec70e38078505cd0150
4586503e93c8a8aad2b78602302d8ddc7b48d46b
e723fccaa975b710536f5073d110610344da9b17
fcca496734a3dffa13e5d8d95f7ab6cb2c1136e0
b79a187d47ee5c45952fab60c141fcaed7e05ef6
c376e82702170ce188271b6b518ebb46495f56ad
de6dca4f819142063436977d78c8c0fb499d4c3e
ff9f3c108f954dfa382ab6623b5fa7bf4434a77a
a81267c28e4e0368cd0e23b661e1c8c53f8194fb
ad22612ab2f84eeea005a293e66761e9de22c6f7
37e9d926329b8d9fd91f8022bff7c5e2c75dc7e5
7075d00958b749ee4e25e6a4ee7320d3773e6394
233179d37416b69706d19ed8fb486eef720838bc
25ecd8cd374115623d4b4db5919c5d0cbfbbbc22
a52c3a3db9e1c5e141fa4385ec27bdaa8d7b9b94
c0fd106019a8fb121c727a6c32e8d1be497d18eb
782c2762bf55fb17402f534267c370cf460869af
We cannot bisect more!
Comment 2 Matthias Clasen 2015-12-20 20:03:04 UTC
works fin with master in my testing
Comment 3 Michael Catanzaro 2015-12-21 00:41:13 UTC
Created attachment 317718 [details]
Screencast

Screencast of the drawing failures I'm seeing. Still happening with 04737364992dff8e6ca555d0b3ddc7bd1a9cf8ea 'Fix parsing of font-weight'. The errors happen when launching the application; after a short while, everything gets drawn properly, but the failures are highly-visible.
Comment 4 Matthias Clasen 2015-12-21 20:30:01 UTC
It looks to me like the drawing errors come from the progressbar when loading pages. Can you point me to the code that is responsible for that progressbar ?
Comment 5 Michael Catanzaro 2015-12-22 00:01:25 UTC
(In reply to Matthias Clasen from comment #4)
> It looks to me like the drawing errors come from the progressbar when
> loading pages. Can you point me to the code that is responsible for that
> progressbar ?

It's in embed/ephy-embed.c (e.g. ephy_embed_constructed). Note the use of GtkOverlay to show it on top of the WebKitWebView. That seems broken; it's supposed to be blue above the WebView, but it's now blue above black (rendering glitches).
Comment 6 Timm Bäder 2016-01-05 16:19:22 UTC
Created attachment 318264 [details]
Reproducer

This can be reproduced by a simple progressbar in an overlay. The imoprtant part is the .osd style class applied to the progeressbar.
Comment 7 Matthias Clasen 2016-01-08 16:46:38 UTC
I don't think there's any drawing error here, actually - what you are seeing is simply the black background from the .osd class. Why do you add that class, anyway ?
Comment 8 Matthias Clasen 2016-01-08 16:50:45 UTC
Maybe that was a wrong lead, it doesn't explain the black headerbar
Comment 9 Michael Catanzaro 2016-01-08 16:53:16 UTC
Nor the fact that GTK+ prints dozens of "drawing failure for widget" warnings. :)