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 761065 - White snapshots and error page snapshots are displayed in overview
White snapshots and error page snapshots are displayed in overview
Status: RESOLVED FIXED
Product: epiphany
Classification: Core
Component: Overview
3.18.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: Epiphany Maintainers
Epiphany Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-01-24 22:57 UTC by Michael Catanzaro
Modified: 2016-03-12 17:39 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
testcase (491 bytes, application/x-shellscript)
2016-02-27 04:29 UTC, Michael Catanzaro
  Details
Move ephy-snapshot-service to embed (2.00 KB, patch)
2016-02-27 06:56 UTC, Michael Catanzaro
none Details | Review
snapshot-service: Do not take snapshots of error pages (1.39 KB, patch)
2016-02-27 06:56 UTC, Michael Catanzaro
none Details | Review
Add some error checking when getting snapshots (2.15 KB, patch)
2016-02-27 06:56 UTC, Michael Catanzaro
none Details | Review
web-view: Never request snapshots when favicon is received (1.95 KB, patch)
2016-02-27 06:56 UTC, Michael Catanzaro
none Details | Review
Add some error checking when getting snapshots (2.15 KB, patch)
2016-02-27 15:28 UTC, Michael Catanzaro
committed Details | Review
web-view: Do not take snapshots of error pages (878 bytes, patch)
2016-02-27 15:28 UTC, Michael Catanzaro
committed Details | Review
web-view: Never request snapshots when favicon is received (1.95 KB, patch)
2016-02-27 15:28 UTC, Michael Catanzaro
committed Details | Review

Description Michael Catanzaro 2016-01-24 22:57:52 UTC
I am seeing a lot of completely blank snapshots displayed in the overview, where the page favicon is overlaid over a totally white square.

I think at some point in the past, someone guessed that the snapshots are being taken while the page is still loading.
Comment 1 Michael Catanzaro 2016-02-26 21:21:05 UTC
Or rather: the snapshots are taken immediately after the page is loaded, but before it is rendered....
Comment 2 Michael Catanzaro 2016-02-27 04:16:40 UTC
(In reply to Michael Catanzaro from comment #1)
> Or rather: the snapshots are taken immediately after the page is loaded, but
> before it is rendered....

^ This, it's a tough WebKit bug. Dunno what to do about it, besides inject arbitrary, artificial delay....
Comment 3 Michael Catanzaro 2016-02-27 04:29:04 UTC
Created attachment 322512 [details]
testcase

Note it does rm -rf on "ephytest" directory in the first line.

The timings are right to run the test on my machine; too low, and you get a bunch of errors from EphyHistoryService and no history gets saved, too high and you wait forever. On my computer, this test shows:

 * Pages that take a while to load (cnn.com, reddit.com, just add them to the test) are usually snapshotted as crash error pages (because the previous instance was still loading when the new instance is started... though this is a bit concerning as I thought this was completely fixed).
 * Pages with favicons usually wind up with completely white snapshots, pages without favicons usually wind up with no snapshot at all (why?)
Comment 4 Michael Catanzaro 2016-02-27 06:56:05 UTC
Created attachment 322513 [details] [review]
Move ephy-snapshot-service to embed

So it can use EphyWebView
Comment 5 Michael Catanzaro 2016-02-27 06:56:08 UTC
Created attachment 322514 [details] [review]
snapshot-service: Do not take snapshots of error pages

Instead, just don't take any snapshot. A new snapshot will be generated
next time the page loads successfully. This sure beats saving an error
page as the snapshot for the next week or so.
Comment 6 Michael Catanzaro 2016-02-27 06:56:12 UTC
Created attachment 322515 [details] [review]
Add some error checking when getting snapshots
Comment 7 Michael Catanzaro 2016-02-27 06:56:16 UTC
Created attachment 322516 [details] [review]
web-view: Never request snapshots when favicon is received

It's too soon, it results in us getting completely white snapshots out
of the snapshot service.

This is hardly a "fix" I am proud of, but it works reliably, at least on
my machine.
Comment 8 Michael Catanzaro 2016-02-27 07:00:27 UTC
Also reopened bug #758470.
Comment 9 Michael Catanzaro 2016-02-27 07:01:13 UTC
(In reply to Michael Catanzaro from comment #4)
> Created attachment 322513 [details] [review] [review]
> Move ephy-snapshot-service to embed
> 
> So it can use EphyWebView

Note to self: remove the stray #include before pushing....
Comment 10 Michael Catanzaro 2016-02-27 15:06:16 UTC
(In reply to Michael Catanzaro from comment #3)
>  * Pages that take a while to load (cnn.com, reddit.com, just add them to
> the test) are usually snapshotted as crash error pages (because the previous
> instance was still loading when the new instance is started... though this
> is a bit concerning as I thought this was completely fixed).

Turns out I only fixed it for the case where a single Epiphany instance is open to the current profile dir. I'm content with that, nobody uses multiple instances with the same profile dir except if you're me testing the snapshot service. :p
Comment 11 Michael Catanzaro 2016-02-27 15:28:05 UTC
Created attachment 322532 [details] [review]
Add some error checking when getting snapshots
Comment 12 Michael Catanzaro 2016-02-27 15:28:08 UTC
Created attachment 322533 [details] [review]
web-view: Do not take snapshots of error pages
Comment 13 Michael Catanzaro 2016-02-27 15:28:11 UTC
Created attachment 322534 [details] [review]
web-view: Never request snapshots when favicon is received

It's too soon, it results in us getting completely white snapshots out
of the snapshot service.

This is hardly a "fix" I am proud of, but it works reliably, at least on
my machine.
Comment 14 Michael Catanzaro 2016-03-12 02:20:54 UTC
Attachment 322532 [details] pushed as c491948 - Add some error checking when getting snapshots
Attachment 322533 [details] pushed as 59ecfd5 - web-view: Do not take snapshots of error pages
Attachment 322534 [details] pushed as e213251 - web-view: Never request snapshots when favicon is received
Comment 15 Carlos Garcia Campos 2016-03-12 08:24:46 UTC
Did I miss the review of these patches?
Comment 16 Michael Catanzaro 2016-03-12 17:39:01 UTC
(In reply to Carlos Garcia Campos from comment #15)
> Did I miss the review of these patches?

I put them in unreviewed due to the severity of the issue, because I know you're busy, yet I want them in 3.19.92 and 3.18.5. The overview is showing me almost all white snapshots, it looks terrible, and it's much more noticeable after "web-overview: Do not drop thumbnail update requests" went in. :/ Feel free to review when you find time, no harm in committing changes later.

Unfortunately we still need a way to expire old white snapshots, but this solves the problem for new users.