Bug 1462669 - Firefox 54 renders text (on web pages and in UI elements) as rectangles [NEEDINFO]
Firefox 54 renders text (on web pages and in UI elements) as rectangles
Status: NEW
Product: Fedora
Classification: Fedora
Component: firefox (Show other bugs)
26
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Jan Horak
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2017-06-19 04:48 EDT by Tadej Janež
Modified: 2017-08-10 07:41 EDT (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
tadej.j: needinfo? (stransky)


Attachments (Terms of Use)
An example of how searching Google for "fedora" renders (84.52 KB, image/png)
2017-06-19 04:48 EDT, Tadej Janež
no flags Details

  None (edit)
Description Tadej Janež 2017-06-19 04:48:50 EDT
Created attachment 1289049 [details]
An example of how searching Google for "fedora" renders

Description of problem:
After upgrading my Fedora 25 this morning, large portions of text on the web pages and in Firefox's menus render as empty rectangles.

Version-Release number of selected component (if applicable):
firefox-54.0-2.fc25.x86_64
Comment 1 Tadej Janež 2017-06-19 16:02:34 EDT
Two updates:

1. Seems this is reproducible every time.

2. I've looked through journald entries for Firefox and the new warnings/errors that started appearing since the upgrade are all similar to:

[5438] WARNING: file /builddir/build/BUILD/firefox-54.0/ipc/chromium/src/base/shared_memory_posix.cc, line 216
[5438] WARNING: file /builddir/build/BUILD/firefox-54.0/ipc/chromium/src/base/shared_memory_posix.cc, line 216
[GFX1-]: Failed 2 buffer db=0 dw=0 for 0, 0, 1268, 884
[5438] WARNING: file /builddir/build/BUILD/firefox-54.0/ipc/chromium/src/base/shared_memory_posix.cc, line 216
[5438] WARNING: file /builddir/build/BUILD/firefox-54.0/ipc/chromium/src/base/shared_memory_posix.cc, line 216
[5438] WARNING: file /builddir/build/BUILD/firefox-54.0/ipc/chromium/src/base/shared_memory_posix.cc, line 216
[5438] WARNING: file /builddir/build/BUILD/firefox-54.0/ipc/chromium/src/base/shared_memory_posix.cc, line 216
[5438] WARNING: file /builddir/build/BUILD/firefox-54.0/ipc/chromium/src/base/shared_memory_posix.cc, line 216
[GFX1-]: Failed 2 buffer db=0 dw=0 for 0, 0, 1268, 884
[GFX1-]: Failed 2 buffer db=0 dw=0 for 0, 132, 1268, 884
[GFX1-]: Failed 2 buffer db=0 dw=0 for 0, 0, 1428, 620
[GFX1-]: Failed 2 buffer db=0 dw=0 for 0, 0, 64, 304
[GFX1-]: Failed 2 buffer db=0 dw=0 for 0, 0, 1428, 620
[5438] WARNING: file /builddir/build/BUILD/firefox-54.0/ipc/chromium/src/base/shared_memory_posix.cc, line 216
[GFX1-]: Failed 2 buffer db=0 dw=0 for 1268, 132, 64, 884
[5438] WARNING: file /builddir/build/BUILD/firefox-54.0/ipc/chromium/src/base/shared_memory_posix.cc, line 216
[GFX1-]: Failed 2 buffer db=0 dw=0 for 0, 0, 64, 117
[5438] WARNING: file /builddir/build/BUILD/firefox-54.0/ipc/chromium/src/base/shared_memory_posix.cc, line 216
[GFX1-]: Failed 2 buffer db=0 dw=0 for 0, 0, 1268, 884
[5438] WARNING: file /builddir/build/BUILD/firefox-54.0/ipc/chromium/src/base/shared_memory_posix.cc, line 216
[5438] WARNING: file /builddir/build/BUILD/firefox-54.0/ipc/chromium/src/base/shared_memory_posix.cc, line 216
[5438] WARNING: file /builddir/build/BUILD/firefox-54.0/ipc/chromium/src/base/shared_memory_posix.cc, line 216
[GFX1-]: Failed 2 buffer db=0 dw=0 for 0, 0, 1428, 620
[GFX1-]: Failed 2 buffer db=0 dw=0 for 0, 0, 64, 304
[GFX1-]: Failed 2 buffer db=0 dw=0 for 0, 0, 1428, 620
[5438] WARNING: file /builddir/build/BUILD/firefox-54.0/ipc/chromium/src/base/shared_memory_posix.cc, line 216
[GFX1-]: Failed 2 buffer db=0 dw=0 for 0, 1004, 948, 12
[5438] WARNING: file /builddir/build/BUILD/firefox-54.0/ipc/chromium/src/base/shared_memory_posix.cc, line 216
[GFX1-]: Failed 2 buffer db=0 dw=0 for 0, 0, 867, 12
[5438] WARNING: file /builddir/build/BUILD/firefox-54.0/ipc/chromium/src/base/shared_memory_posix.cc, line 216
[GFX1-]: Failed 2 buffer db=0 dw=0 for 948, 132, 64, 872
[5438] WARNING: file /builddir/build/BUILD/firefox-54.0/ipc/chromium/src/base/shared_memory_posix.cc, line 216
[GFX1-]: Failed 2 buffer db=0 dw=0 for 0, 0, 64, 48
[5438] WARNING: file /builddir/build/BUILD/firefox-54.0/ipc/chromium/src/base/shared_memory_posix.cc, line 216
[GFX1-]: Failed 2 buffer db=0 dw=0 for 0, 0, 948, 872

[... output trimmed ...]

Any ideas what is going on?
Comment 2 Jan Horak 2017-06-20 03:43:11 EDT
Thanks for the report.

First of all check "Multiprocess Windows" in about:support (ie. if the e10s is enabled). If it is, try to disable it with setting browser.tabs.remote.autostart to false in about:config.

If that does not help try to run in safe-mode (firefox -safe-mode) or with fresh profile (firefox -P)

This can also be related to your GPU, what GPU you have?
Comment 3 Tadej Janež 2017-06-21 04:15:07 EDT
(In reply to Jan Horak from comment #2)
> Thanks for the report.

No problem.

> First of all check "Multiprocess Windows" in about:support (ie. if the e10s is
> enabled).

It says: 0/64 (Disabled by add-ons)

> If it is, try to disable it with setting
> browser.tabs.remote.autostart to false in about:config.

I checked the setting and it is set to 'false'.
If it matters, there is also the 'browser.tabs.remote.autostart.2' setting that is 'user set' with value 'true'.

> If that does not help try to run in safe-mode (firefox -safe-mode) or with
> fresh profile (firefox -P)

Running in safe mode didn't help. I've noticed the same problems.
Also, when running in safe-mode "Multiprocess Windows" still says: 0/64 (Disabled by add-ons). I thought add-ons were disabled in safe mode?

While observing Firefox's output to the console when running in Safe Mode, I noticed that:

1) It ran out of file descriptors:

console.error: 
  Could not write session state file 
  Message: Unix error 24 during operation open on file /home/tadej/.mozilla/firefox/ufyatb12.default/sessionstore-backups/recovery.js.tmp (Too many open files)

This is using the default ulimit of 1024 open file descriptors.

2) Lots of exceptions started appearing after running out of file descriptors that look like:

*************************
*************************
A coding exception was thrown and uncaught in a Task.

Full message: TypeError: conn is undefined
Full stack: _matchKnownUrl@resource://gre/components/UnifiedComplete.js:1351:5
TaskImpl_run@resource://gre/modules/Task.jsm:319:42
TaskImpl@resource://gre/modules/Task.jsm:277:3
asyncFunction@resource://gre/modules/Task.jsm:252:14
Task_spawn@resource://gre/modules/Task.jsm:166:12
TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:389:16
TaskImpl_run@resource://gre/modules/Task.jsm:327:15
process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:922:23
walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:806:7
scheduleWalkerLoop/<@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:742:11
waitForSyncCallback@resource://services-common/async.js:98:7
Res__request@resource://services-sync/resource.js:386:14
Res_get@resource://services-sync/resource.js:415:12
RecordMgr_import@resource://services-sync/record.js:231:23
RecordMgr_get@resource://services-sync/record.js:255:12
_remoteSetup@resource://services-sync/service.js:928:21
verifyLogin@resource://services-sync/service.js:665:15
onNotify@resource://services-sync/service.js:849:12
WrappedNotify@resource://services-sync/util.js:164:21
WrappedLock@resource://services-sync/util.js:120:16
WrappedCatch@resource://services-sync/util.js:95:16
login@resource://services-sync/service.js:860:12
sync/<@resource://services-sync/service.js:1090:14
WrappedCatch@resource://services-sync/util.js:95:16
sync@resource://services-sync/service.js:1086:5
syncTabs/</<@resource://gre/modules/services-sync/SyncedTabs.jsm:178:11

To see what was caused by exhaustion of open file descriptors, I increased the number of open file descriptors to 2048 (ulimit -n 2048).

Starting Firefox in safe mode or in 'normal' mode works. Black rectangles (and other strange issues) no longer appear.

It appears that something started consuming more open file descriptors in Firefox 54? And my use of Firefox with 64 windows open (with lots of tabs) exposed the issue?

> This can also be related to your GPU, what GPU you have?

Based on what I reported above, this is not related. For completeness, here is what Firefox reports:
GPU description: X.Org -- Gallium 0.4 on AMD CAPE VERDE (DRM 2.49.0 / 4.11.5-200.fc25.x86_64, LLVM 3.9.1)
GPU Driver Version: 3.0 Mesa 17.0.5
Comment 4 Martin Stransky 2017-06-21 04:31:51 EDT
Can you please try to run firefox with new profile? run "firefox -ProfileManager -no-remote" on console to create a new profile.
Comment 5 Tadej Janež 2017-08-08 03:48:14 EDT
Martin, Jan,

I apologize for such a late reply. I've been on vacation, changed my machine, and updated to F26.

I've kept my /home directory though and the problem reappeared.

I can avoid the problem if I increase the number of open file descriptors to 2048 (ulimit -n 2048).

(In reply to Martin Stransky from comment #4)
> Can you please try to run firefox with new profile? run "firefox
> -ProfileManager -no-remote" on console to create a new profile.

I tried that but for reproducing the problem I would have to open lots of windows (~60-70) and each window would need to have lots of tabs (I'm guessing 10 on average).

Do you have any tip on how to automatically open many windows with many tabs in each?

Or would it be easier if I somehow restored the Firefox session from my default profile and copied it to the new one?
Comment 6 Martin Stransky 2017-08-10 06:30:41 EDT
No need to try to reproduce if it works for you on Fedora 26.
Comment 7 Tadej Janež 2017-08-10 07:41:56 EDT
(In reply to Martin Stransky from comment #6)
> No need to try to reproduce if it works for you on Fedora 26.

Perhaps I wasn't clear enough.

The problem was introduced when I upgraded from Firefox from 53 to 54. If I downgraded to Firefox 53 (on my Fedora 25 system), the problem disappeared.

In the mean time I found a work-around, namely doubling the number of open file descriptors to 2048 (from 1024).

Without using the work-around, I'm able to reproduce the issue on a new Fedora 26 system (I retained my old Firefox profile with all open tabs and windows). And an ordinary Fedora user probably also won't know what is wrong and how to work around it.

I think it would be useful to reproduce this with a new profile but I guess I would at least have to open the same amount of windows and tabs. Therefore, I was asking you for hint on how to do that automatically?

Note You need to log in before you can comment on or make changes to this bug.