Bagikan melalui


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.