Bagaimana cara melaporkan bug pada Linux Kernel

Bagaimana cara melaporkan bug pada Linux Kernel

Dalam menangani laporan bug, silakan kirimkan email ke saya ([email protected]) dan mungkin juga ke mailing-list yang relevan atau ke grup berita.

Pertama-tama, pastikan Anda memberikan informasi penting

  • Tentukan kernel mana yang Anda bicarakan.
  • Beritahu saya bagaimana cara menduplikat masalah tersebut.
  • Deskripsikan konfigurasi Anda (gunakan akal sehat).
  • Jika masalah tersebut adalah yang baru, beritahu saya bahwa itu adalah yang baru. Jika masalah tersebut adalah yang lama, silakan coba ingat kapan Anda pertama kali mencatat masalah tersebut.

Jika Anda menemui dump kernel

  • Jika Anda melihat pesan seperti:
unable to handle kernel paging request at address C0000010
Oops: 0002
EIP: 0010:XXXXXXXX
eax: xxxxxxxx ebx: xxxxxxxx ecx: xxxxxxxx edx: xxxxxxxx
esi: xxxxxxxx edi: xxxxxxxx ebp: xxxxxxxx
ds: xxxx es: xxxx fs: xxxx gs: xxxx
Pid: xx, process nr: xx
xx xx xx xx xx xx xx

Atau informasi debugging kernel lainnya yang muncul di layar Anda atau dalam log sistem, silakan duplikatkan secara tepat. Informasi dump tersebut mungkin tampak tidak memahami untuk Anda, tapi itu mengandung informasi yang dapat membantu dalam menyelesaikan masalah.

Jika Anda compile kernel dengan CONFIG_KALLSYMS

  • Anda dapat mengirimkan dump sebagai-is.
  • Jika tidak, Anda perlu menggunakan program "ksymoops" untuk memahami dump tersebut. Program ini dapat diunduh dari ftp://ftp..kernel.org/pub/linux/utils/kernel/ksymoops/.

Alternatif lainnya adalah melakukan lookup oleh tangan

  • Dalam debugging dump seperti yang disebutkan di atas, sangat membantu jika Anda dapat mencari tahu apa fungsi kernel yang terkait dengan nilai EIP.
  • Nilai hex tersebut tidak berguna sebagai itu sendiri; Anda perlu mencari nama fungsi kernel yang terkait dengan alamat tersebut.

Menggunakan gdb pada kernel yang sedang berjalan

  • Kompilasi kernel dengan -g.

  • Edit file Makefile arch/i386/Makefile secara tepat, lalu lakukan "make clean".

  • Anda juga perlu mengaktifkan CONFIG_PROC_FS melalui "make config".

  • Setelah reboot dengan kernel yang baru, lakukan "gdb vmlinux /proc/kcore". Anda sekarang dapat menggunakan semua komando biasa dalam gdb.

  • Command untuk mencari titik di mana sistem Anda crash adalah "l *0xXXXXXXXX". (Ganti XXXes dengan nilai EIP.)

Catatan

  • Melaporkan bug pada Linux Kernel memerlukan informasi yang tepat dan rinci. Pastikan Anda memberikan informasi yang diperlukan.
  • Baca dokumen REPORTING-BUGS untuk lebih lanjut tentang bagaimana cara melaporkan bug.