Pemecahan Masalah Produk Mozilla

Xhorak, Stransky, Coremodule Versi unspecified Last review: 2022-03-15
Artikel ini membantu pengguna terdampak dalam melaporkan bug Firefox dan Thunderbird serta memudahkan pengelola paket untuk memperbaikinya.

Halaman ini diambil dari dokumentasi Fedora Wiki sebelumnya.

Dokumen ini telah diedit untuk dipublikasikan di Portal Dokumentasi Fedora, tetapi belum direview untuk keakuratan teknisnya.

Mungkin saja

  • Mengandung masalah format

  • Ketinggalan zaman

  • Membutuhkan cinta lain

Ulasan mengenai akurasi teknis sangat dihargai. Jika Anda ingin membantu, lihat berkas README di repositori sumber untuk petunjuk.

Permintaan pull diterima di https://pagure.io/fedora-docs/quick-docs

Setelah Anda memperbaiki halaman ini, hapus pemberitahuan ini.

Menggunakan pelapor crash Mozilla

Aplikasi dapat mengalami crash selama waktu berjalan. Jendela aplikasi akan menghilang dan dialog pelaporan bug akan muncul. Dengan menyetujui dialog ini, laporan crash akan dikirim ke server crashstat Mozilla. Untuk melihat dan mengirimkan informasi crash, lakukan langkah-langkah berikut:

  • Buka halaman Mozilla Crash Reporter

  • Jika ada laporan crash, kirim semuanya (gunakan tombol "Submit All").

  • Tempel semua ID crash pada laporan bug.

Menggunakan debugging lokal

Menginstal paket debug info

Paket debug info yang berisi berkas sumber diperlukan untuk membuat laporan bug yang bermakna (kecuali Anda menggunakan pelapor crash Mozilla). Untuk menginstalnya, jalankan perintah berikut sebagai root:

dnf debuginfo-install firefox

untuk Firefox,

dnf debuginfo-install thunderbird

untuk Thunderbird.

Menggunakan coredumpctl untuk mendapatkan backtrace

Anda dapat menggunakan coredumpctl untuk mendapatkan backtrace. Jalankan di terminal:

coredumpctl list

dan temukan crash Firefox di sana serta dapatkan ID crash-nya. Kemudian jalankan gdb dengan perintah:

coredumpctl debug ID

Anda akan mendapatkan sesi gdb dan dapat memperoleh backtrace dengan:

thread apply all bt full

gdb command.

Menjalankan aplikasi di debugger

Untuk menjalankan aplikasi di GNU debugger, jalankan perintah berikut:

firefox -g -d gdb

untuk Firefox,

thunderbird -g -d gdb

Setelah debugger dimulai yang ditandai dengan munculnya baris:

(gdb)

Untuk menjalankan program, gunakan perintah:

run

Mendapatkan stack trace saat crash

Kemudian buat aplikasi mengalami crash. Ini akan ditandai dengan munculnya prompt (gdb). Ketik:

set logging on crash_bt.log
thread apply all bt full
print DumpJSStack()
set logging off

untuk menyimpan stack trace dan trace Javascript ke berkas crash_bt.log. Jangan lupa melampirkan berkas ini ke laporan bug.

Aplikasi membeku

Jika Anda dapat mereproduksi pembekuan, ikuti langkah-langkah di [[Application crash,(no link provided)]]. Hanya ada satu perbedaan pada bagian Dapatkan stack trace saat crash di mana prompt (gdb) tidak muncul. Untuk menampilkan prompt tersebut, tekan Ctrl-C.

Mendapatkan laporan crash Mozilla dari aplikasi yang sedang berjalan

Anda dapat mematikan aplikasi yang sedang berjalan menggunakan sinyal kill dan kemudian mendapatkan serta mengirim laporan crash Mozilla.

Untuk menghentikan semua instance Firefox, jalankan di terminal:

kill -s 11 ${pid_of_firefox}

Ini akan menghentikan semua instance Firefox dan menampilkan dialog laporan crash Mozilla. Pada saat menjalankan Firefox berikutnya, Anda akan melihat ID crash di halaman about:crashes. Silakan kirim laporan crash ke Mozilla dan tempel ID crash tersebut pada laporan bug.

Melampirkan debugger ke aplikasi yang sedang berjalan

Sebelum dapat melampirkan debugger ke aplikasi yang sedang berjalan, Anda harus menginstal simbol debug seperti dijelaskan pada [[#Installing debug info packages|debug symbols installed]].

Ketika pembekuan terjadi secara acak dan sulit diprediksi, Anda dapat melampirkan debugger ke aplikasi yang sedang berjalan ketika pembekuan terjadi dengan perintah:

gdb firefox `ps ax|grep firefox/firefox|grep -v grep|grep -v "contentproc"|cut -d ' ' -f3`

untuk Firefox.

gdb thunderbird `ps ax|grep thunderbird/thunderbird|grep -v grep|grep -v "contentproc"|cut -d ' ' -f3`

untuk Thunderbird.

Kemudian Anda dapat melanjutkan ke langkah Dapatkan stack trace saat crash.

Menentukan penyebab crash

Beberapa crash dan masalah berasal dari add-on atau plugin pihak ketiga yang diinstal. Untuk menentukan apakah itu penyebabnya, jalankan aplikasi dengan parameter '-safe-mode':

firefox -safe-mode

atau

thunderbird -safe-mode

Kemudian centang opsi Disable all add-ons dan tekan Make Changes and Restart.

Pengaturan ini akan menonaktifkan semua add-on dan plugin Anda hingga Anda mengaktifkannya kembali secara manual.

Jika masalah tetap terjadi, kemungkinan besar tidak terkait dengan add-on atau plugin, dan Anda dapat melanjutkan mengikuti petunjuk di bagian [[#Application crash]]. Jika tidak, lanjutkan ke bagian berikutnya.

Melaporkan masalah add-on dan plugin

Aktifkan kembali plugin dan add-on. Pertama, jangan lupa untuk mengaktifkan kembali semua plugin dan add-on di menu Tools/Add-ons/Extensions dan Plugins, lalu restart aplikasi.

Untuk Firefox, buka halaman about:plugins. Halaman ini berisi informasi tentang semua plugin yang terinstal dan dapat membantu kami dalam menyelesaikan masalah Anda. Simpan dengan menu File/Save Page As…​ ke sebuah berkas dan lampirkan berkas tersebut pada laporan bug.

Untuk Thunderbird, buat tangkapan layar dari dialog Tools/Addons/Extensions dan Tools/Addons/Plugins, lalu lampirkan gambar tersebut ke bugzilla.

Lampirkan juga output dari perintah berikut:

$ rpm -q firefox xulrunner thunderbird flash-plugin gnash google-talkplugin nspluginwrapper thunderbird-lightning thunderbird-enigmail flash-plugin
ls -l /usr/lib64/mozilla/plugins/
ls -l /usr/lib/mozilla/plugins/
ls -l /usr/share/mozilla/extensions

Anda juga dapat menjalankan Firefox atau Thunderbird menggunakan strace. Hal ini membantu kami melacak pustaka dinamis mana yang dimuat selama proses startup. Penggunaan strace:

strace firefox &> strace_output

atau untuk Thunderbird:

strace thunderbird &> strace_output

dan jangan lupa untuk melampirkan berkas strace_output yang telah dibuat pada laporan bug. Jika aplikasi mengalami crash atau membeku, stack trace juga sangat berguna. Untuk petunjuknya, lihat bagian [[#Application crash]].

Ringkasan lampiran laporan bug

Singkatnya, jalankan perintah berikut dan lampirkan berkas ~/bug-report ke bugzilla:

rpm -q firefox xulrunner thunderbird flash-plugin gnash google-talkplugin nspluginwrapper thunderbird-lightning thunderbird-enigmail flash-plugin > ~/bug-report
ls -l /usr/lib64/mozilla/plugins/   >> ~/bug-report
ls -l /usr/lib/mozilla/plugins/     >> ~/bug-report
ls -l /usr/share/mozilla/extensions >> ~/bug-report

Untuk Firefox, buka halaman about:support dan about:plugins, simpan keduanya, lalu lampirkan pada laporan bug.

Untuk Thunderbird, buat tangkapan layar dari dialog Tools/Addons/Extensions dan Tools/Addons/Plugins, lalu lampirkan gambar tersebut ke bugzilla.

Lanjutkan ke bagian [[#Application crash]] jika diperlukan.

Debugging tingkat lanjut

TODO

Terima kasih atas waktu Anda yang telah digunakan untuk melaporkan bug!