Baru-baru ini saya mulai mengamati ini sangat membingungkan dan menjengkelkan, belum lagi perilaku yang mengkhawatirkan ketika Firefox dibuka dan kemudian meluncurkan Chromium:
Selama sekitar 30 detik, proses anak Firefox akan menghabiskan semua sumber daya CPU yang tersedia, menyebabkan situs web menghentikan render (halaman yang sudah ditampilkan terhenti, halaman baru menampilkan halaman putih dengan lingkaran berputar abu-abu) sementara jendela keseluruhan masih responsif (menu, halaman bergulir) , berpindah tab, bahkan halaman internal seperti tentang: config atau tentang: preferensi berfungsi ...). Chromium sendiri tidak menunjukkan gejala apa pun. Segera menghentikan Chromium, saat Firefox berputar, tidak menghentikan perilaku ini lebih cepat.
Hal yang sama terjadi dengan profil Firefox saya yang biasa, profil Firefox yang sama sekali baru dan tanpa tersentuh, dll., Firefox memulai dalam mode aman dengan add-on dinonaktifkan, dan Firefox memulai dalam mode pribadi. Mirip dengan Chromium, saya dapat meluncurkannya dengan profil reguler saya, dalam mode penyamaran atau dengan profil sementara, selalu menghasilkan hasil yang sama.
Tidak ada yang aneh terjadi ketika Chromium berjalan dan saya membuka Firefox.
Saat meluncurkan Firefox dari terminal, saya terkadang mendapatkan pesan seperti ini ketika saya berhenti ketika sedang berputar (perhatikan baris kesalahan pipa yang menyebutkan beberapa kromium ipc ...):
ExceptionHandler::GenerateDump cloned child 32165
ExceptionHandler::SendContinueSignalToChild sent continue signal to child
ExceptionHandler::WaitForContinueSignal waiting for continue signal...
[Parent 26520, Gecko_IOThread] WARNING: pipe error (52): Connection reset by peer: file /build/firefox-8oo9jx/firefox-62.0+build2/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 353
ExceptionHandler::GenerateDump cloned child 32274
ExceptionHandler::WaitForContinueSignal waiting for continue signal...
ExceptionHandler::SendContinueSignalToChild sent continue signal to child
Anehnya, saya tidak dapat mereproduksi perilaku itu di akun tamu atau akun reguler (admin) yang baru dibuat.
Beberapa spesifikasi sistem (diperbarui):
- Ubuntu 16.04 (64 bit)
- Firefox
62.0 + build2-0ubuntu0.16.04.563.0 + build2-0ubuntu0.16.04.2 - Chromium
69.0.3497.81-0ubuntu0.16.04.170.0.3538.77-0ubuntu0.16.04.1 fontconfig
2.11.94-0ubuntu1.1- Perangkat keras grafis: Intel SkyLake integrated graphics (i5-6200U) + Nvidia GeForce 940M
Saat ini saya sudahnvidia-410
menginstal drivernya, tetapi beralih ke profil utama Intel. Bagaimana saya bisa lebih lanjut memecahkan masalah dan memperbaiki masalah ini?
Saya membuat profil kinerja dengan Ekstensi Gecko Profiler, diinstal ke profil Firefox segar bersih di akun Ubuntu saya yang biasa. Itu dapat ditemukan di sini: https://perfht.ml/2zpTWsh - Kerangka waktu yang tidak responsif dengan penggunaan CPU 100% kira-kira harus sesuai dengan area yang disorot pada garis waktu Content Proc, dari sekitar 18an - 56an.
Saya membuat laporan bug Mozilla untuk masalah ini: https://bugzilla.mozilla.org/show_bug.cgi?id=1504461
Pembaruan penting: Rupanya laporan bug saya adalah duplikat dari https://bugzilla.mozilla.org/show_bug.cgi?id=1495900 , yang menunjukkan fontconfig
sebagai pelakunya. Sepertinya memulai Chromium membuat perubahan dalam konfigurasi font entah bagaimana, yang memicu pemuatan ulang lengkap di Firefox. Ini sesuai dengan laporan profil kinerja, dan juga sejalan dengan bagaimana pembaruan sebelumnya untuk paket font memicu jenis pembekuan yang sama.
Adakah ide bagaimana saya dapat membuat ketiga (Firefox, Chromium, fontconfig) berperilaku baik satu sama lain?
sumber
Jawaban:
TL; DR: Ini masalah
fontconfig
sebelum versi 2.13. Itu dapat diperbaiki dengan memutakhirkan paket ke 2.13 atau lebih tinggi (walaupun saya tidak dapat menemukan penyedia yang cocok). Atau, periksa semua folder terkait font Anda dan file konfigurasi di direktori home Anda dan uji apakah menghapus salah satu dari mereka menyelesaikan masalah Anda. Bagi saya, mengubah nama~/.fonts
melakukan trik.Setelah mengetahui tentang laporan bug https://bugzilla.mozilla.org/show_bug.cgi?id=1495900 dan https://bugzilla.mozilla.org/show_bug.cgi?id=1411338 menjadi agak jelas bahwa masalahnya harus dipecahkan. disebabkan oleh
fontconfig
.Entah bagaimana ketika Chromium dimulai, itu memicu perubahan dalam basis data font (???), yang menyebabkan Firefox - jika saat ini berjalan - untuk memindai ulang sistem file untuk font, menghasilkan penggunaan CPU dan pembekuan sementara.
Rupanya memperbarui
fontconfig
paket dari versi 2.11 ke 2.13 (versi yang dikirim misalnya di Ubuntu 18.10) harus memperbaiki masalah, tetapi saya tidak menemukan cara mudah untuk mendapatkan versi itu pada 16.04, tanpa memutus ketergantungan banyak paket lain yang telah saya instal.Jadi karena masalahnya terbatas pada akun pengguna saya, saya memeriksa konfigurasi font lokal dan folder saya. Ada cukup berantakan direktori terkait font-berbeda jujur, termasuk
~/.fonts
,~/.local/share/fonts
,~/.local/share-font-manager
,~/.config/font-manager
,~/.cache/font-manager
,~/.cache/fontconfig
dan beberapa file lebih config dan hal-hal font yang aplikasi-spesifik.Saya mulai dengan menghapus (mengganti nama)
~/.fonts
folder, karena sepertinya tidak mengandung sesuatu yang berguna, dantouch ~/.fonts/Library/
sebelumnya yang memicu perilaku buruk Firefox. Setelah folder itu hilang, begitu pula masalah saat meluncurkan Chromium. \Hai/sumber
~/.fonts
direktori. Semua font ada dalam direktori sistem yang luas.fontconfig
ke2.13.0-5ubuntu3
dari cosmic / 18.10 memang memecahkan masalah AFAICT. Ini adalah bug paling aneh dalam beberapa saat ... terima kasih atas petunjuknya.libfontconfig1
khusus. Secara umum saya telah menambahkan mirror bionic keapt
daftar dan menerapkan pinning apt untuk menghindari menginstal salah satu paketnya tanpa mengatakannya secara khusus. Lalu aku hanya digunakanapt
's-t
pilihan seperti:apt install fontconfig -tcosmic
. Saya menggunakan jodoh sebagai DE ... mungkin tidak bekerja semudah dengan DE lain.Latar Belakang
Telah diusulkan Firefox Bug 1492360 ini: Penggunaan CPU tinggi saat membuka firefox sebelum chrome / chromium . Itu adalah duplikat Bug 1495900: Memulai Chrome membuat proses konten Firefox hang selama sekitar dua menit, karena FontConfig font rescanning (FcInitReinitialize) , adalah biang keladinya.
Tapi saya juga di Firefox:
Dan ketika saya membuka Chrome:
Saya tidak melihat kinerja apa pun mencapai CPU.
Mungkin bertentangan dengan moral Anda, tetapi mungkin Anda dapat mencoba menginstal
google-chrome-stable
seperti yang saya miliki. Kemudian lakukan tes lagi. Jika tidak ada lonjakan penggunaan CPU hingga 100%, maka laporan bug dapat diajukan antara Chromium dan Chrome.Saya di Ubuntu 16.04.5 LTS. Walaupun kernel saat ini adalah
4.14.78
rantai LTS saya tidak berpikir itu ada hubungannya dengan itu karena saya tidak melihat CPU hits pada kernel sebelumnya juga.Satu-satunya waktu saya melihat semua CPU pada 100% adalah selama
update-initramfs
.fontconfig
versonDalam laporan bug terungkap:
Dalam versi non-kereta saya (bisa jadi karena tidak ada font lokal):
Saya di
2.11.94
versi lebih awal dari2.12
versi laporan bug . Dalam meningkatkan laporan bug ke2.13
adalah solusi yang direkomendasikan tetapi OP yang disebutkan dalam komentar ini tidak mungkin. Karena itu2.11.94
mungkin menjadi pilihan.sumber
fontconfig
sekarang. Mungkin Anda memiliki font lokal yang berbeda (atau tidak sama sekali) diinstal di akun pengguna Anda. Saya menemukan solusi untuk menghapus (mengganti nama)~/.fonts
folder, yang memperbaiki masalah ini. Tampaknya juga meningkatkan kefontconfig
> = versi 2.13 harus memperbaikinya, tetapi saya tidak dapat melakukannya pada 16.04.ttf
dan digunakan dalam pengolah kata / spreadsheet. Sayangnya Anda harus menyelesaikan pertanyaan karunia Anda sendiri tetapi jika itu adalah penghiburan yang sama terjadi pada saya di masa lalu.fontconfig
sebagai opsi untuk mencocokkan versi saya tapi itu adalah "harapan samar" yang diberikan Anda mungkin berasal dari sana. Jika Anda memiliki tautan untuk menginstal font lokal, saya akan mencoba mengonfirmasi / menolak efek darifontconfig
versi yang lebih lama .fontconfig
adalah2.11.94-0ubuntu1.1
juga, bahwa seseorang tidak bebas bug. Pasti kombinasi font yang diinstal, konfigurasi font khusus, dan ilmu hitam, saya kira. Periksa jawabanku. :)Dilihat dari log, sepertinya Firefox menggunakan IPC sinkron (komunikasi antar-proses) karena beberapa alasan. Ada beberapa flag di Firefox untuk mengaktifkan IPC yang sinkron secara eksplisit (mis: network.cookie.ipc.sync). Salah satunya mungkin diaktifkan. Anda dapat mengakses dari about: config halaman
Penundaan kemudian akan menjadi hasil dari firefox yang menunggu jawaban. Karena tidak ada beban saat Chromium selesai memulai atau tidak aktif berjalan, ada respons langsung.
Terkait: https://bugzilla.mozilla.org/show_bug.cgi?id=1331680
sumber
network.cookie.ipc.sync
konfigurasi ini dari false ke true dan kembali, me-restart Firefox setelah setiap perubahan, tetapi masih perilaku yang sama :( Saya masih tidak mengerti mengapa Firefox dan Chromium bahkan akan berkomunikasi di tempat pertama, mereka harus mengurus sendiri masing-masing bisnisTidak tahu apakah saran berikut akan berfungsi atau tidak. Anda bisa mencobanya. Coba hapus kromium dan firefox sepenuhnya (simpan file .deb tentu saja) menggunakan Synaptic Package Manager. Setelah itu periksa apakah ada dependensi yang rusak. Perbaiki dengan menggunakan sinaptik (jika ada). Sekarang periksa penggunaan CPU (saya menggunakan Powertop). Akhirnya lakukan instal ulang browser yang baru.
Catatan: Hal-hal ini umumnya apa yang saya lakukan jika ada kelainan spesifik. Saya ingat menghadapi masalah yang sedikit mirip setahun yang lalu. Itu bisa diselesaikan dengan cara ini.
sumber
Pada Ubuntu 16.04, menghapus folder kosong
~/.local/share/fonts
menyelesaikannya dalam kasus saya.sumber