| Предыдущий | Следующий |
| UNSUPPORTED_INSTRUCTION_MODE | KERNEL_LOCK_ENTRY_LEAKED_ON_THREAD_TERMINATION |
INVALID_PUSH_LOCK_FLAGS
INVALID_PUSH_LOCK_FLAGS является проверкой ошибки контракта API для исполнительных push lock. Microsoft определяет параметр 1 как недопустимые флаги вызывающей стороны, а параметр 2 — как адрес push lock. Это точнее общего диагноза блокировки или взаимоблокировки.
Используйте два опубликованных параметра совместно
Проверьте значение флагов в параметре 1 и стек вызовов, который его передал. Параметр 2 определяет конкретный экземпляр блокировки и может помочь найти объект или подсистему-владельца. Зарезервированным параметрам 3 и 4 не следует приписывать переносимый смысл.
Цель проверки кода
Найдите API push lock в сбойном пути или непосредственно под ним и убедитесь, что флаги относятся к документированному набору этого API. Проверьте неинициализированные поля, смешение областей флагов, устаревшее содержимое структур и оболочки, передающие управляемые вызывающим биты. Изменение порядка блокировок не исправит отклонённое значение флагов, если дамп независимо не показывает проблему порядка.
Ссылки
- Microsoft: Bug Check 0x152 INVALID_PUSH_LOCK_FLAGS
- Microsoft: push lock
- Microsoft: команды стека WinDbg
Нужно найти другой код? Найти другой код состояния или ошибки.