0x4000008A Pemeriksaan Bug: THREAD_TERMINATE_HELD_MUTEX
Pemeriksaan bug THREAD_TERMINATE_HELD_MUTEX memiliki nilai 0x4000008A. Ini menunjukkan bahwa driver memperoleh mutex pada utas yang keluar sebelum mutex dapat dilepaskan. Ini dapat disebabkan oleh driver yang kembali ke mode pengguna tanpa merilis mutex atau oleh driver yang memperoleh muteks dan kemudian menyebabkan pengecualian yang mengakibatkan utas yang dijalankannya, dihentikan.
Penting
Artikel ini untuk programmer. Jika Anda adalah pelanggan yang telah menerima kode kesalahan layar biru saat menggunakan komputer Anda, lihat Memecahkan masalah kesalahan layar biru.
Parameter THREAD_TERMINATE_HELD_MUTEX
Parameter | Deskripsi |
---|---|
1 | Alamat KTHREAD yang memiliki KMUTEX. |
2 | Alamat KMUTEX yang dimiliki. |
3 | Dicadangkan |
4 | Dicadangkan |
Penyebab
Ekstensi !analyze debug menampilkan informasi tentang pemeriksaan bug dan dapat membantu dalam menentukan akar penyebabnya.
Untuk menyelidiki, lihat tumpukan panggilan. Jika ada driver pada tumpukan yang langsung diikuti oleh rutinitas penanganan pengecualian sistem dan kemudian rutinitas penghentian utas, driver ini salah dan perlu diperbaiki sehingga tidak menyebabkan pengecualian yang tidak tertangani saat memegang mutex kernel. Jika tumpukan hanya menunjukkan kode penghentian utas normal dan tidak ada driver yang diimplikasi, jalankan !pool atau gunakan ln (Daftar Simbol Terdekat) pada alamat mutex (parameter 2) dan lihat apakah Anda dapat menemukan siapa yang memilikinya. Bug ini hampir pasti akan berada dalam kode pemilik mutex itu.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk