Описание кода ошибки
Она описывает фатальную критическую ситуацию, возникающую при генерировании процессором исключения, необрабатываемого ядром операционной системы. Такой исключительной ситуацией может послужить связанное прерывание или, так называемая, двойная ошибка.
Bound trap (связанное прерывание) представляет вид прерывания, которое ядру Windows нельзя перехватывать для обработки. Такая исключительная ситуация не приводит к вызову системного обработчика исключений. Поэтому происходит крах системы, завершающийся синим экраном и STOP-ошибкой UNEXPECTED_KERNEL_MODE_TRAP. Тот же стоп-код генерирует система при возникновении двойной ошибки, когда попытка обработки возникшего исключения приводит к другой ошибке (double fault).
- Примером может послужить исключительная ситуация деления на ноль, описываемая последовательностью 0x00000000. Причиной такого исключения может стать, например, битая память.
- Выполнение процессором недопустимой операции (0x00000006) также может быть значением первого параметра.
- Двойное исключение (double fault) описывает код 0x00000008. Это попытка обработать возникшее исключение, которая также завершилась неудачей. Причиной двойного необрабатываемого исключения могут стать переполнение стека ядра Windows или проблемы с «железом».
Первый параметр может принимать и другие значения. Расшифровывать эти значения можно с помощью документации к архитектуре процессоров Intel.
Данный стоп-код характерен
для любой версии Windows
. Например, он замечен при установке Windows XP, возникает такая ситуация и при эксплуатации Windows 10. Описана данная ситуация и при работе с
Symantec Antivirus
0x0000007a
Windows » BSOD » 0x0000007A: KERNEL_DATA_INPAGE_ERROR
В избранное | Версия для печати | Посетителей: 5660 | Просмотров: 6595 (сегодня 2)
Не может быть прочитана запрашиваемая ядром страница памяти.
Ошибка вызвана плохим блоком в памяти или ошибкой контроллера диска. См. так же KERNEL_STACK_INPAGE_ERROR.
Параметры:
1. тип
2. статус ошибки (обычно I/O код статуса)
3. текущий процесс
4. адрес
Windows NT 2000 XP
Решение STOP 0x00000077 и 0x0000007A сообщений.
Эти STOP сообщения относятся к ситуациям, когда Windows NT не может загрузить информацию о виртуальной памяти в рабочую память из-за проблем с оборудованием или програмного обеспечения.
Возможные причины:
— Повреждённый блок на жёстком диске.
— Некорректное завершение оборудования SCSI.
— Плохое соединение жёсткого диска с контроллером.
— Ошибка контроллера жёсткого диска.
— Недостаток свободного места.
Применяется к следующим системам:
Windows XP
Windows 2000
Windows NT
Stop 0x0000007A or KERNEL_DATA_INPAGE_ERROR
Причина:
Stop 0x7A сообщение указывает, что страница памяти не была найдена и не может быть загружена в память. Это может быть из-за несовместимых дисков, контроллеров, firmware (BIOS) или оборудования.
Параметры:
1. Lock type value (0x00000001, 0x00000002, 0x00000003, or page table entry (PTE) address).
2. I/O код статуса
3. Если тип лока 0x00000001, этот параметр указывает на текущий процесс. Если тип лока 0x00000003, этот параметр указывает на адрес виртуальной памяти.
4. Адрес виртуальной памяти, который не может быть загружен в память.
Причина может быть выявлена через второй параметр (I/O код статуса), используя следующую информацию:
0xC000000E или STATUS_NO_SUCH_DEVICE: оборудование не может быть определено.
0xC000009A или STATUS_INSUFFICIENT_RESOURCES: нехватка nonpaged pool ресурсов.
0xC000009C или STATUS_DEVICE_DATA_ERROR: плохой кластер на жёстком диске.
0xC000009D или STATUS_DEVICE_NOT_CONNECTED: неисправный кабель, зависание, или контроллер не смог получить доступ на жёсткий диск.
0xC000016A или STATUS_DISK_OPERATION_FAILED: плохой кластер на жёстком диске.
0xC0000185 или STATUS_IO_DEVICE_ERROR: неправильное завершение процесса или неисправный кабель SCSI оборудования, или два устройства пытались использовать одно и то же IRQ.
Для большей информации о других возможных статусов, смотрите Ntstatus.h файл Windows XP Professional Driver Development Kit (DDK).
Решение:
Используйте один из предложенных методов для решения этой проблемы:
Просканируйте жёсткий диск антивирусной программой.
Просмотрите Журнал событий (Event Viewer) для получения дополнительной информации, какое оборудование стало причиной ошибки.
Такое может произойти, когда запрошенная страница информации ядра не может быть прочитана из виртуальной памяти, или master boot record заражён вирусом, или из-за несовместимых дисков, контроллеров, firmware (BIOS), оборудования.
Плохой кластер на жёстком диске. Ошибка номера 0x7А зачастую является причиной плохого кластера в месте виртуальной памяти, или ошибка контроллера диска, или в ОЧЕНЬ редких случаях, когда не хватает свободного места на диске.
Если первый и второй параметры равны нулю, то причиной является неисправное оборудование. Если I/O статус равен C0000185 и виртуальная память на SCSI жёстком диске, вы должны проверить рабочее состояние кабелей и завершение SCS.
I/O код статуса 0xC000009C или 0xC000016A обычно указывает, что информация не может быть считана с жёсткого диска из-за плохого кластера.
Если возможно, то перезагрузите компьютер, Autochk автоматический запуститься и попытается выявить плохие кластеры. Если по какой либо причине Autochk не просканирует диск, запустите Autochk вручную. Если диск отформатирован на NTFS, запустите Chkdsk /f /r на системной партиции. Вы должны перезагрузить компьютер до того, как сканирование начнётся. Если вы не можете загрузить компьютер из-за этой ошибки, используйте Консоль (Command Console) и запустите Chkdsk /r .
Повреждённая память — random access memory (RAM), Level 2 (L2) SRAM cache, или RAM видео адаптера — ещё одна возможная причина этой ошибки.
Проверьте, если все карты адаптеров хорошо закреплены в слотах. Что контакты нигде не отходят.
Отключите caching в BIOS и проверьте, решит ли это проблему.
Если вы недавно установили новое оборудование, отключите и отсоедините его.
Если это не решит проблему, то повреждена материнская плата.
Проверьте обновления на сайте поставщика вашего оборудования. Проверьте, чтобы ваш диск и его контроллер использовали одинаковые дополнительные установки. Если необходимо, установите медленней скорость передачи данных.
Так же вы можете установить драйвера для контроллеров, которых нет в библиотеках установочного диска Windows XP Professional. Для этого в начале установки нужно нажать F6, когда во время установки на экране появится:
Press F6 if you need to install a third party SCSI or RAID driver
Примечание:
Эта ошибка схожа с STOP: 0x00000077
Stop 0x0000007A во время установки на ATA66 компьютере
Во время установки Windows 2000 на IDE или UltraDMA66/ATA66 компьютер, вы получаете:
STOP 0x0000007A (0xc03f33fc, 0xc000000e, 0xfccffcba, ox0696b860)
KERNEL_DATA_INPAGE_ERROR ***Address xxxxxxxx has base at xxxxyyyy —
atapi.sys
Если у вас UlraDMA66/ATA66 (80 wire/40 pin) IDE кабель, подсоединенный к диску, на который вы устанавливаете Windows 2000, это может случиться, т.к. Windows 2000 не полностью поддерживает UltraDMA66 контроллер.
Решение:
Используйте подходящий способ, чтобы решить проблему:
1. Используйте стандартный ATA (40 wire/40 pin) IDE кабель и проверьте у производителя вашей мат. платы обновления драйверов ATA66 для Windows 2000.
2. Во время установки вас просят нажать F6, если Вам необходимо установить SCSI и RAID драйвера (if you need to install a third party SCSI or RAID driver), установите обновлённый драйвер Windows 2000 UltraDMA66.
Примечание: Некоторые старые мат.платы не поддерживают UltraDMA66/ATA66. Спросите вашего производителя ж.диска о установке джамперов или программе, которую вы могли бы использовать, чтобы включить поддержку протокола ATA33 на ATA66 протоколе на диске или мат.плате, которая имеет встроенный UltraDMA66/ATA66 контроллер, неподдерживаемый Windows 2000.
Автор: Ginger
Иcточник: microsoft.com
Опубликована — 26.01.2005
§
Данные в реестр внёс, спасибо. Посмотрим, что будет в ближайшие 3 дня.
Что касается программ, висящих в фоне:
ATi Catalyst Control Center 2021.0202.2335.42270
SnagIt 8.0
USB Safely Remove 3.1.4
Download Master 5.5.3.1131
Eset Smart Security Home Edition 4.0.474.0
Daemon Tools Lite 4.30.3
uTorrent 1.8
Из программ чаще всего юзаю: Opera 10.50, AIMP 2.60, MS Office Outlook 2007, Sun VirtualBox 3.1.2.
Также в комплекте с Roxio Creator 2021 шла программа Roxio Burn, которая постоянно висит в процессах. Вставляю какой-либо оптический диск — появляется её значок на рабочем столе, предлагает скопировать диск или же записать на него данные:
программа имеет 2 процесса: один всегда висит в трее и ждёт, когда в дисководе появится какой-либо диск; когда диск вставлен, он запускает второй процесс — собственно саму программу Roxio Burn. Ею пользуюсь почти всегда, когда пишу диски. В XP она у меня тоже была и тогда никаких BSoD’ов при выключении ПК не возникало.
Изменено 15 апреля, 2021 пользователем Shadow TH
§
Shadow TH: Если удалять нельзя, хотя бы в следующий раз перед выключением посмотри, какие процессы от виртуалки висят в системе и попробуй завершить их вручную (можно простой батник написать).
Обновление может помочь, но не всегда. Когда-то сталкивался с подобным на vmware 5, пока на 6 не перешел, ничего не помогало.
Exceptioncode: c0000006
Если поле ExceptionCode содержит значение c0000006 (In-page I/O error), а второй параметр Parameter[2]: c000009a (Insufficient system resources exist to complete the API), то полное описание ошибки выглядит следующим образом:
«Inpage operation failed at , due to I/O error c000009a», что переводится как «Ошибка страничной операции (ошибка подкачки страницы) в следствии ошибки ввода-вывода с кодом c000009a». Так же, статус завершения может содержаться в поле с именем ERROR_CODE, а полная комбинированный код ошибки в поле EXCEPTION_STR.
Статус c000009a, в свою очередь, указывает на недостаток системных ресурсов для завершения вызова API, а недостаток ресурсов, чаще всего, является следствием исчерпания памяти. Из всего этого следует, что мы имеем дело с утечкой памяти в одном из сторонних модулей режима ядра, которая привела к исчерпанию системных ресурсов (в данном случае памяти), а это, в свою очередь, вызвало ошибку ввода-вывода при подкачке страницы, поскольку некуда была эту страницу подгрузить.
Утечка памяти (memory leak) — процесс неконтролируемого уменьшения объёма свободной (оперативной/виртуальной) памяти системы, связанный с ошибками в коде выполняющихся в данный момент программ, вовремя не освобождающих ненужные уже участки памяти, или с ошибками системных служб контроля памяти.
Память это конечный системный ресурс, и хорошая практика состоит в том, что как только часть памяти (минимальная единица выделения) становится не нужной какому-либо исполняемому коду, она должна быть возвращена в общий пул посредством освобождения (маркировки как свободная).
К сожалению, так случается не всегда. А иногда бывает, что ошибка в коде приводит к тому, что память вовремя не освобождается, а только постоянно резервируется. Естественно, что утечка происходит не в самих системных процессах (csrss.exe, smss.exe и прочих), которые могут фигурировать в качестве «упавшего» объекта, а где то еще, в каких-то сторонних модулях, работающих в ядре, скорее всего сторонних драйверах.
обратите внимание, что в выводе отладчика я выделил поля с именами NonPagedPool Usage, NonPagedPool Max. Они относятся к такому важному системному ресурсу, как невыгружаемый и выгружаемый пулы.
Выгружаемый и невыгружаемый пулы — ресурсы памяти, которые ядро операционной системы (включая драйверы устройств) использует для хранения собственных структур данных.
Сразу отмечу, что выгружаемые пулы обычно не являются причиной аварийных ситуаций из-за утечек памяти, поскольку они могут быть выгружены на диск, в файл подкачки. Стоит обращать своё внимание именно на невыгружаемые пулы. В случае, когда значения невыгружаемых пулов NonPagedPool Usage ~= NonPagedPool Max, можно сделать вывод об наличии факта исчерпания пулов.
В дополнение, в выводе могут встретиться такие строки как Excessive NonPaged Pool Usage и ???? pool allocations have failed, которые так же являются характерными признаками исчерпания пулов. Теперь мы можем вывести список всех процессов, использующих невыгружаемые пулы:
!poolused 7
Расширение !poolused даёт сводку по использованию памяти, на основании тэгов, применяемых для каждого пула, то есть показывает использование памяти для каждого тэга. Сам тэг характеризует конкретный модуль в ядре. Таким образом, !poolused собирает данные из механизма маркируемых пулов (pool tagging, группируемые по тэгу пулы), которая постоянно включена в ядре только в версиях Windows 2003 и старше. В расширении используются флаги, которые регламентируют количество выводимых данных и метод сортировки:
- Bit 0 (0x1) — Включает детализированный вывод;
- Bit 1 (0x2) — Сортирует вывод по количеству невыгружаемой памяти;
- Bit 2 (0x4) — Сортирует вывод по количеству выгружаемой памяти;
- Bit 3 (0x8) — Отображает вместо стандартных пулов пулы сессии;
Флаг 2 команды используется для вывода объема использования невыгружаемых пулов, 4 показало бы выгружаемые пулы.
NonPaged Paged
Tag Allocs Frees Diff Used Allocs Frees Diff Used
@GMM 86 63 23 2291256 1 0 1 2097152 (Intel video driver) Memory manager
Cont 267 8 259 2154640 0 0 0 0 Contiguous physical memory allocations for device drivers
EtwB 179 109 70 1779736 2 0 2 131072 Etw Buffer , Binary: nt!etw
VHAL 15 0 15 1578176 0 0 0 0 UNKNOWN pooltag ‘VHAL’, please update pooltag.txt
Ntfx 9682 1852 7830 1469264 0 0 0 0 General Allocation , Binary: ntfs.sys
File 82334 74244 8090 1446864 0 0 0 0 File objects
VoSm 62 41 21 1240192 0 0 0 0 Bitmap allocations , Binary: volsnap.sys
Pool 13 8 5 1156680 0 0 0 0 Pool tables, etc.
MmCa 6578 564 6014 904208 0 0 0 0 Mm control areas for mapped files , Binary: nt!mm
FMsl 9240 1461 7779 809016 0 0 0 0 STREAM_LIST_CTRL structure , Binary: fltmgr.sys
Thre 2216 1456 760 563216 0 0 0 0 Thread objects , Binary: nt!ps
IU3C 23 22 1 483328 73 71 2 48 IIS Utility Driver
Mm 443 434 9 456448 65 62 3 88 general Mm Allocations , Binary: nt!mm
MmCi 1592 0 1592 423008 0 0 0 0 Mm control areas for images , Binary: nt!mm
0AEC 189 2 187 414896 0 0 0 0 UNKNOWN pooltag ‘0AEC’, please update pooltag.txt
AmlH 6 0 6 393216 0 0 0 0 ACPI AMLI Pooltags
Devi 383 42 341 344960 0 0 0 0 Device objects
. . .
7:kd>!poolused7 ........ SortingbyNonPagedPoolConsumed NonPaged Paged Tag Allocs Frees Diff Used Allocs Frees Diff Used @GMM 86 63 23 2291256 1 0 1 2097152(Intelvideodriver)Memorymanager Cont 267 8 259 2154640 0 0 0 0Contiguousphysicalmemoryallocationsfordevicedrivers EtwB 179 109 70 1779736 2 0 2 131072EtwBuffer,Binary:nt!etw VHAL 15 0 15 1578176 0 0 0 0UNKNOWNpooltag‘VHAL’,pleaseupdatepooltag.txt Ntfx 9682 1852 7830 1469264 0 0 0 0GeneralAllocation,Binary:ntfs.sys File 82334 74244 8090 1446864 0 0 0 0Fileobjects VoSm 62 41 21 1240192 0 0 0 0Bitmapallocations,Binary:volsnap.sys Pool 13 8 5 1156680 0 0 0 0Pooltables,etc. MmCa 6578 564 6014 904208 0 0 0 0Mmcontrolareasformappedfiles,Binary:nt!mm FMsl 9240 1461 7779 809016 0 0 0 0STREAM_LIST_CTRLstructure,Binary:fltmgr.sys Thre 2216 1456 760 563216 0 0 0 0Threadobjects,Binary:nt!ps IU3C 23 22 1 483328 73 71 2 48IISUtilityDriver Mm 443 434 9 456448 65 62 3 88generalMmAllocations,Binary:nt!mm MmCi 1592 0 1592 423008 0 0 0 0Mmcontrolareasforimages,Binary:nt!mm 0AEC 189 2 187 414896 0 0 0 0UNKNOWNpooltag‘0AEC’,pleaseupdatepooltag.txt AmlH 6 0 6 393216 0 0 0 0ACPIAMLIPooltags Devi 383 42 341 344960 0 0 0 0Deviceobjects ... |
список обычно выдается просто огромный и приводить его тут целиком не имеет особого смысла, поэтому я показал лишь небольшую его часть, верхнюю. Конкретно в этом дампе у меня нет необходимой информации, однако обычно из подробного вывода видно, что у какой-то метки пула может присутствовать очень большое значение (обычно сотни тысяч) в столбце Diff у группировки NonPaged, которое говорит о том, что память, маркированная данным тэгом постоянно резервируется, но при этом мало освобождается.
Если в столбце Tag присутствует значение Irp, то имеются в виду IRP-пакеты (I/O request packet, пакеты запроса ввода-вывода), которые используются для обмена данными с драйверами. Поэтому, мы можем обратить своё внимание на пакеты драйверов (IRP), поскольку они могут дать нам подсказку по функциям, интенсивно использующим память. Для этого используем команду !irpfind отладчика:
Scanning large pool allocation table for tag 0x3f707249 (Irp?) (86bfb000 : 86cfb000)
Irp [ Thread ] irpStack: (Mj,Mn) DevObj [Driver] MDL Process
8612d828 [8760e030] irpStack: ( e,20) 868b4198 [ DriverAFD] 0x8759d6f8
87625530 [875e4398] irpStack: ( d, 0) 86110de8 [ FileSystemNpfs]
8619ec08 [8788c030] irpStack: ( e, 3) 868b4198 [ DriverAFD]
86eb8ad0 [876b30e0] irpStack: ( e,20) 868b4198 [ DriverAFD] 0x876a5980
87d31d20 [857a3c20] irpStack: ( e,2d) 868b4198 [ DriverAFD]
861a5c08 [00000000] Irp is complete (CurrentLocation 3 > StackCount 2)
86ac28e0 [00000000] Irp is complete (CurrentLocation 2 > StackCount 1) 0x00000000
86e911d0 [00000000] Irp is complete (CurrentLocation 7 > StackCount 6)
Searching nonpaged pool (80000000 : ffc00000) for tag 0x3f707249 (Irp?)
8563fe90 [00000000] irpStack: ( f, 0) 00000000 [00000000: Could not read device object or _DEVICE_OBJECT not found
]
856a2210 [00000000] irpStack: ( f, 0) 861d1b90 [ DriverACPI]
856a2600 [00000000] irpStack: (16, 0) 8563f328 [ DriverACPI]
856bb008 [00000000] Irp is complete (CurrentLocation 31 > StackCount 30)
856bb6a8 [00000000] Irp is complete (CurrentLocation 31 > StackCount 30)
856bbb58 [00000000] Irp is complete (CurrentLocation 31 > StackCount 30)
856bf368 [87611030] irpStack: ( d, 0) 86110de8 [ FileSystemNpfs]
856bf420 [00000000] Irp is complete (CurrentLocation 31 > StackCount 30)
856bf8d0 [00000000] Irp is complete (CurrentLocation 31 > StackCount 30)
856e30d8 [00000000] Irp is complete (CurrentLocation 2 > StackCount 1)
85713ae0 [876f7d48] irpStack: ( e,2d) 868b4198 [ DriverAFD]
85718300 [00000000] Irp is complete (CurrentLocation 2 > StackCount 1)
857190a0 [87b7ad48] irpStack: ( d, 0) 86110de8 [ FileSystemNpfs]
85719aa0 [87837420] irpStack: ( e, 0) 8782bd10 [ Drivermpsdrv]
8571a008 [87ace828] irpStack: ( c, 2) 86734020 [ FileSystemNtfs]
857676a8 [87b25d48] irpStack: ( e, 0) 86f0e030 [*** ERROR: Module load completed but symbols could not be loaded for iusb3hub.sys
Driveriusb3hub]
85768d48 [00000000] Irp is complete (CurrentLocation 4 > StackCount 3)
85775840 [00000000] Irp is complete (CurrentLocation 4 > StackCount 3)
85776408 [00000000] Irp is complete (CurrentLocation 4 > StackCount 3)
85776cc8 [00000000] Irp is complete (CurrentLocation 4 > StackCount 3)
85777338 [00000000] Irp is complete (CurrentLocation 4 > StackCount 3)
85777ce0 [00000000] Irp is complete (CurrentLocation 4 > StackCount 3)
857861d8 [00000000] Irp is complete (CurrentLocation 4 > StackCount 3)
857b2928 [00000000] Irp is complete (CurrentLocation 4 > StackCount 3)
857b3090 [00000000] Irp is complete (CurrentLocation 4 > StackCount 3)
857b5028 [00000000] Irp is complete (CurrentLocation 4 > StackCount 3)
. . .
7:kd>!irpfind Scanninglargepoolallocationtablefortag0x3f707249(Irp?)(86bfb000:86cfb000) Irp [Thread]irpStack:(Mj,Mn) DevObj [Driver] MDLProcess 8612d828[8760e030]irpStack:(e,20) 868b4198[DriverAFD]0x8759d6f8 87625530[875e4398]irpStack:(d,0) 86110de8[FileSystemNpfs] 8619ec08[8788c030]irpStack:(e,3) 868b4198[DriverAFD] 86eb8ad0[876b30e0]irpStack:(e,20) 868b4198[DriverAFD]0x876a5980 87d31d20[857a3c20]irpStack:(e,2d) 868b4198[DriverAFD] 861a5c08[00000000]Irpiscomplete(CurrentLocation3>StackCount2) 86ac28e0[00000000]Irpiscomplete(CurrentLocation2>StackCount1)0x00000000 86e911d0[00000000]Irpiscomplete(CurrentLocation7>StackCount6) Searchingnonpagedpool(80000000:ffc00000)fortag0x3f707249(Irp?) 8563fe90[00000000]irpStack:(f,0) 00000000[00000000:Couldnotreaddeviceobjector_DEVICE_OBJECTnotfound ] 856a2210[00000000]irpStack:(f,0) 861d1b90[DriverACPI] 856a2600[00000000]irpStack:(16,0) 8563f328[DriverACPI] 856bb008[00000000]Irpiscomplete(CurrentLocation31>StackCount30) 856bb6a8[00000000]Irpiscomplete(CurrentLocation31>StackCount30) 856bbb58[00000000]Irpiscomplete(CurrentLocation31>StackCount30) 856bf368[87611030]irpStack:(d,0) 86110de8[FileSystemNpfs] 856bf420[00000000]Irpiscomplete(CurrentLocation31>StackCount30) 856bf8d0[00000000]Irpiscomplete(CurrentLocation31>StackCount30) 856e30d8[00000000]Irpiscomplete(CurrentLocation2>StackCount1) 85713ae0[876f7d48]irpStack:(e,2d) 868b4198[DriverAFD] 85718300[00000000]Irpiscomplete(CurrentLocation2>StackCount1) 857190a0[87b7ad48]irpStack:(d,0) 86110de8[FileSystemNpfs] 85719aa0[87837420]irpStack:(e,0) 8782bd10[Drivermpsdrv] 8571a008[87ace828]irpStack:(c,2) 86734020[FileSystemNtfs] 857676a8[87b25d48]irpStack:(e,0) 86f0e030[***ERROR:Moduleloadcompletedbutsymbolscouldnotbeloadedforiusb3hub.sys Driveriusb3hub] 85768d48[00000000]Irpiscomplete(CurrentLocation4>StackCount3) 85775840[00000000]Irpiscomplete(CurrentLocation4>StackCount3) 85776408[00000000]Irpiscomplete(CurrentLocation4>StackCount3) 85776cc8[00000000]Irpiscomplete(CurrentLocation4>StackCount3) 85777338[00000000]Irpiscomplete(CurrentLocation4>StackCount3) 85777ce0[00000000]Irpiscomplete(CurrentLocation4>StackCount3) 857861d8[00000000]Irpiscomplete(CurrentLocation4>StackCount3) 857b2928[00000000]Irpiscomplete(CurrentLocation4>StackCount3) 857b3090[00000000]Irpiscomplete(CurrentLocation4>StackCount3) 857b5028[00000000]Irpiscomplete(CurrentLocation4>StackCount3) ... |
Время выполнения команды !irpfind может быть ЧУДОВИЩНО БОЛЬШИМ! У меня последний раз при дампе размером в 4 гигабайта, операция выполнялась в течении нескольких часов.
Список, традиционно, не маленький, и я привел лишь небольшую его часть. По команде !pool (адрес из первой колонки) можно получить данные о принадлежности к выгружаемому или невыгружаемому пулу памяти:
По команде !irp (адрес из первой колонки) можно получить информацию о принадлежности пакета к определенному устройству:
Как мы можем видеть, в последних строках есть ссылка на драйвер устройства, которому предназначался IRP пакет: DriverAFD. У нас имя драйвера устройства было сразу видно в выводе команды !irpfind, приведенном выше, однако если Вам по каким-либо причинам необходимо узнать имя драйвера, то можно выполнить команду !devstack <Device> (адрес из колонки Device), которая получает информацию об устройстве, получившем IRP пакет:
При обнаружении стороннего драйвера, информацию по нему можно посмотреть командной
lmvm
Стоит обращать внимание на время создания стороннего драйвера, поскольку некоторые проблемы могут вызывать драйвера, выпущенные довольно давно и плохо работающие в среде актуальной операционной системы.
Определение типа объекта
Весьма желательно, что бы у Вас к этому моменту на руках уже имелся полный дамп памяти.
Запускаем отладчик WinDbg из комплекта Debugging Tools for Windows, затем открываем через меню File — Open Crash Dump… имеющийся у нас на руках (желательно полный) дамп памяти.В интерфейсе отладчика, в командной строке выполняем команду !analyze -v:
CRITICAL_OBJECT_TERMINATION (f4)
A process or thread crucial to system operation has unexpectedly exited or been
terminated.
Several processes and threads are necessary for the operation of the
system; when they are terminated (for any reason), the system can no
longer function.
Arguments:
Arg1: 0000000000000003, Process
Arg2: fffffa801723e730, Terminating object
Arg3: fffffa801723ea10, Process image file name
Arg4: fffff800043849c0, Explanatory message (ascii)
Debugging Details:
——————
ETW minidump data unavailable
DUMP_CLASS: 1
DUMP_QUALIFIER: 400
BUILD_VERSION_STRING: 7601.23539.amd64fre.win7sp1_ldr.160902-0600
SYSTEM_MANUFACTURER: MSI
SYSTEM_PRODUCT_NAME: MS-7758
SYSTEM_SKU: To be filled by O.E.M.
SYSTEM_VERSION: 1.0
BIOS_VENDOR: American Megatrends Inc.
BIOS_VERSION: V2.4
BIOS_DATE: 06/19/2021
BASEBOARD_MANUFACTURER: MSI
BASEBOARD_PRODUCT: Z77A-G43 (MS-7758)
BASEBOARD_VERSION: 1.0
DUMP_TYPE: 2
BUGCHECK_P1: 3
BUGCHECK_P2: fffffa801723e730
BUGCHECK_P3: fffffa801723ea10
BUGCHECK_P4: fffff800043849c0
KERNEL_LOG_FAILING_PROCESS: (null)
PROCESS_NAME: csrss.exe
CRITICAL_PROCESS: csrss.exe
IMAGE_NAME: csrss.exe
DEBUG_FLR_IMAGE_TIMESTAMP: 0
MODULE_NAME: csrss
FAULTING_MODULE: 0000000000000000
EXCEPTION_CODE: (Win32) 0x2119e060 (555343968) —
ERROR_CODE: (NTSTATUS) 0x2119e060 —
CPU_COUNT: 8
CPU_MHZ: da4
CPU_VENDOR: GenuineIntel
CPU_FAMILY: 6
CPU_MODEL: 3a
CPU_STEPPING: 9
CPU_MICROCODE: 6,3a,9,0 (F,M,S,R) SIG: 12’00000000 (cache) 12’00000000 (init)
CUSTOMER_CRASH_COUNT: 1
DEFAULT_BUCKET_ID: WIN7_DRIVER_FAULT
BUGCHECK_STR: 0xF4
CURRENT_IRQL: 0
ANALYSIS_SESSION_HOST:
ANALYSIS_SESSION_TIME: 11-09-2021 10:30:42.0059
ANALYSIS_VERSION: 10.0.14321.1024 amd64fre
STACK_TEXT:
fffff880`239039d8 fffff800`0440fb22 : 00000000`000000f4 00000000`00000003 fffffa80`1723e730 fffffa80`1723ea10 : nt!KeBugCheckEx
fffff880`239039e0 fffff800`043cd12b : 00000000`00000001 fffffa80`2119e060 fffffa80`1723e730 fffffa80`1f54eb01 : nt!PspCatchCriticalBreak 0x92
fffff880`23903a20 fffff800`04334eb4 : 00000000`00000001 00000000`0000239c fffffa80`1723e730 fffffa80`00000008 : nt! ?? ::NNGAKEGL::`string’ 0x282c6
fffff880`23903a70 fffff800`0407a413 : 00000000`0000239c fffffa80`2119e060 fffffa80`1723e730 fffffa80`21c24950 : nt!NtTerminateProcess 0x284
fffff880`23903ae0 00000000`7736bdfa : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd 0x13
00000000`2e94ebf8 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x7736bdfa
STACK_COMMAND: kb
THREAD_SHA1_HASH_MOD_FUNC: e9460336222f4471d8ae88a3d24ad7df3aff8ef1
THREAD_SHA1_HASH_MOD_FUNC_OFFSET: 9c238bf7ebe2405ac86e2eb68e7c228ca739e29c
THREAD_SHA1_HASH_MOD: f08ac56120cad14894587db086f77ce277bfae84
FOLLOWUP_NAME: MachineOwner
FAILURE_BUCKET_ID: X64_0xF4_csrss.exe_BUGCHECK_CRITICAL_PROCESS_TERMINATED_BY_ZennoPoster.ex_2119e060
BUCKET_ID: X64_0xF4_csrss.exe_BUGCHECK_CRITICAL_PROCESS_TERMINATED_BY_ZennoPoster.ex_2119e060
PRIMARY_PROBLEM_CLASS: X64_0xF4_csrss.exe_BUGCHECK_CRITICAL_PROCESS_TERMINATED_BY_ZennoPoster.ex_2119e060
TARGET_TIME: 2021-10-29T18:32:47.000Z
OSBUILD: 7601
OSSERVICEPACK: 1000
SERVICEPACK_NUMBER: 0
OS_REVISION: 0
SUITE_MASK: 272
PRODUCT_TYPE: 1
OSPLATFORM_TYPE: x64
OSNAME: Windows 7
OSEDITION: Windows 7 WinNt (Service Pack 1) TerminalServer SingleUserTS
OS_LOCALE:
USER_LCID: 0
OSBUILD_TIMESTAMP: 2021-09-02 17:56:46
BUILDDATESTAMP_STR: 160902-0600
BUILDLAB_STR: win7sp1_ldr
BUILDOSVER_STR: 6.1.7601.23539.amd64fre.win7sp1_ldr.160902-0600
ANALYSIS_SESSION_ELAPSED_TIME: aa9
ANALYSIS_SOURCE: KM
FAILURE_ID_HASH_STRING: km:x64_0xf4_csrss.exe_bugcheck_critical_process_terminated_by_zennoposter.ex_2119e060
FAILURE_ID_HASH: {84f37c38-3c29-3fb1-11f5-e9b6e5d2d6f8}
Followup: MachineOwner
******************************************************************************* * * * BugcheckAnalysis * * * ******************************************************************************* CRITICAL_OBJECT_TERMINATION(f4) Aprocessorthreadcrucialtosystemoperationhasunexpectedlyexitedorbeen terminated. Severalprocessesandthreadsarenecessaryfortheoperationofthe system; when they are terminated (for any reason), the system can no longerfunction. Arguments: Arg1:0000000000000003,Process Arg2:fffffa801723e730,Terminatingobject Arg3:fffffa801723ea10,Processimagefilename Arg4:fffff800043849c0,Explanatorymessage(ascii) DebuggingDetails: —————— ETWminidumpdataunavailable DUMP_CLASS:1 DUMP_QUALIFIER:400 BUILD_VERSION_STRING: 7601.23539.amd64fre.win7sp1_ldr.160902—0600 SYSTEM_MANUFACTURER: MSI SYSTEM_PRODUCT_NAME: MS—7758 SYSTEM_SKU: TobefilledbyO.E.M. SYSTEM_VERSION: 1.0 BIOS_VENDOR: AmericanMegatrendsInc. BIOS_VERSION: V2.4 BIOS_DATE: 06/19/2021 BASEBOARD_MANUFACTURER: MSI BASEBOARD_PRODUCT: Z77A—G43(MS—7758) BASEBOARD_VERSION: 1.0 DUMP_TYPE: 2 BUGCHECK_P1:3 BUGCHECK_P2:fffffa801723e730 BUGCHECK_P3:fffffa801723ea10 BUGCHECK_P4:fffff800043849c0 KERNEL_LOG_FAILING_PROCESS: (null) PROCESS_NAME: csrss.exe CRITICAL_PROCESS: csrss.exe IMAGE_NAME: csrss.exe DEBUG_FLR_IMAGE_TIMESTAMP: 0 MODULE_NAME:csrss FAULTING_MODULE:0000000000000000 EXCEPTION_CODE:(Win32)0x2119e060(555343968)— ERROR_CODE:(NTSTATUS)0x2119e060— CPU_COUNT:8 CPU_MHZ:da4 CPU_VENDOR: GenuineIntel CPU_FAMILY:6 CPU_MODEL:3a CPU_STEPPING:9 CPU_MICROCODE:6,3a,9,0(F,M,S,R) SIG:12‘00000000 (cache) 12’00000000(init) CUSTOMER_CRASH_COUNT: 1 DEFAULT_BUCKET_ID: WIN7_DRIVER_FAULT BUGCHECK_STR: 0xF4 CURRENT_IRQL: 0 ANALYSIS_SESSION_HOST: ANALYSIS_SESSION_TIME: 11—09—202110:30:42.0059 ANALYSIS_VERSION:10.0.14321.1024amd64fre STACK_TEXT: fffff880`239039d8fffff800`0440fb22:00000000`000000f400000000`00000003fffffa80`1723e730fffffa80`1723ea10:nt!KeBugCheckEx fffff880`239039e0fffff800`043cd12b:00000000`00000001fffffa80`2119e060fffffa80`1723e730fffffa80`1f54eb01:nt!PspCatchCriticalBreak 0x92 fffff880`23903a20fffff800`04334eb4:00000000`0000000100000000`0000239cfffffa80`1723e730fffffa80`00000008:nt!??::NNGAKEGL::`string‘ 0x282c6 fffff880`23903a70fffff800`0407a413:00000000`0000239cfffffa80`2119e060fffffa80`1723e730fffffa80`21c24950:nt!NtTerminateProcess 0x284 fffff880`23903ae000000000`7736bdfa:00000000`0000000000000000`0000000000000000`0000000000000000`00000000:nt!KiSystemServiceCopyEnd 0x13 00000000`2e94ebf800000000`00000000:00000000`0000000000000000`0000000000000000`0000000000000000`00000000:0x7736bdfa STACK_COMMAND: kb THREAD_SHA1_HASH_MOD_FUNC: e9460336222f4471d8ae88a3d24ad7df3aff8ef1 THREAD_SHA1_HASH_MOD_FUNC_OFFSET: 9c238bf7ebe2405ac86e2eb68e7c228ca739e29c THREAD_SHA1_HASH_MOD: f08ac56120cad14894587db086f77ce277bfae84 FOLLOWUP_NAME: MachineOwner FAILURE_BUCKET_ID: X64_0xF4_csrss.exe_BUGCHECK_CRITICAL_PROCESS_TERMINATED_BY_ZennoPoster.ex_2119e060 BUCKET_ID: X64_0xF4_csrss.exe_BUGCHECK_CRITICAL_PROCESS_TERMINATED_BY_ZennoPoster.ex_2119e060 PRIMARY_PROBLEM_CLASS: X64_0xF4_csrss.exe_BUGCHECK_CRITICAL_PROCESS_TERMINATED_BY_ZennoPoster.ex_2119e060 TARGET_TIME: 2021—10—29T18:32:47.000Z OSBUILD: 7601 OSSERVICEPACK: 1000 SERVICEPACK_NUMBER:0 OS_REVISION:0 SUITE_MASK: 272 PRODUCT_TYPE: 1 OSPLATFORM_TYPE: x64 OSNAME: Windows7 OSEDITION: Windows7WinNt(ServicePack1)TerminalServerSingleUserTS OS_LOCALE: USER_LCID: 0 OSBUILD_TIMESTAMP: 2021—09—0217:56:46 BUILDDATESTAMP_STR: 160902—0600 BUILDLAB_STR: win7sp1_ldr BUILDOSVER_STR: 6.1.7601.23539.amd64fre.win7sp1_ldr.160902—0600 ANALYSIS_SESSION_ELAPSED_TIME:aa9 ANALYSIS_SOURCE: KM FAILURE_ID_HASH_STRING: km:x64_0xf4_csrss.exe_bugcheck_critical_process_terminated_by_zennoposter.ex_2119e060 FAILURE_ID_HASH: {84f37c38—3c29—3fb1—11f5—e9b6e5d2d6f8} Followup: MachineOwner |
Вот это всё великое множество полей нам, конечно же, не потребуется. При анализе любого дампа памяти интерес для нас представляет, в первую очередь, описание и аргументы критической ошибки, которые следуют, как правило, непосредственно за «шапкой» Bugcheck Analysis:
Проверка озу
Вторым источником ошибки синего экрана 0x000000f4 может служить некорректное взаимодействие компонентов системы и оперативной памяти. При наличии отклонений в последней её работа будет выполняться не корректно и системный процесс, вместо нужных данных получит неверное значение. Это и приведёт к его падению. В процессе проверки состояния ОЗУ компьютер потребуется перезапустить:
- Открываем строку «Выполнить» («Ctrl R») и прописываем «msconfig».
- Переходим на вкладку «Загрузка» и отмечаем галочку «Сделать эти параметры загрузки постоянными».
Это требуется для того, чтобы активировать «Тайм-аут» при запуске системы, чтобы после перезагрузки запустить диагностику памяти.
- Перезагружаем компьютер и выбираем «Диагностика памяти» в окне выбора системы.
После этого выбираете настройки и запускаете процесс. Дело это не быстрое и отнимет определённое время. Пользоваться компьютером в это время не выйдет.
Способ справедлив для любой версии Windows. Альтернативным способом запуска диагностики является перезагрузка компьютера и нажатия F8 для отображения окна выбора загрузки. Такой способ больше подходит для Windows XP, поскольку там вместо «msconfig» используется текстовый файл «boot.ini».
Способ 6: восстановление системных файлов
Одной из причин, ведущей к ошибке 0x0000000a, является нарушение структуры файлов системы. Тогда необходимо произвести процедуру проверки и при необходимости восстановить проблемные элементы. Для выполнения указанной задачи запускаем ПК в «Безопасном режиме».
- Щелкайте «Пуск». Нажмите «Все программы».
- Войдите в директорию «Стандартные».
- Отыскав название «Командная строка», нажмите по нему ПКМ. В отобразившемся перечне выберите «Запуск от имени администратора».
- Активируется оболочка «Командной строки». Внесите туда такую запись:
sfc /scannow
Жмите Enter.
- Запустится утилита, которая выполнит сканирование системных файлов на предмет потери их целостности. В случае обнаружения неполадок проблемные объекты будут восстановлены.
Способ 7: восстановление системы
Универсальным способом, который позволяет не только устранить ошибку, но и избавиться от многих других проблем, является откат системы к заранее созданной точке восстановления. Основная загвоздка, связанная с реализацией данного варианта, заключается в том, что эта точка восстановления должна быть сформирована до того, как возникла неисправность. А иначе с помощью этого метода наладить нормальную работу системы не получится.
- С помощью меню «Пуск» перейдите в директорию программ «Стандартные». Алгоритм данного перехода был описан нами в предыдущем способе. Зайдите в каталог «Служебные».
- Нажмите «Восстановление системы».
- Запускается оболочка утилиты восстановления системных объектов и параметров. Нажмите «Далее».
- Затем открывается окошко, где нужно выбрать конкретную точку, к которой будет восстановлена система. Если у вас заготовлено несколько вариантов, то выбирайте самый последний по дате, но сформированный перед тем, как возникла описываемая проблема. Для того чтобы иметь больший диапазон выбора, установите флажок возле «Показать другие…». После выделения наименования жмите «Далее».
- Теперь откроется окно, в котором нам остается только проверить все введенные данные. Также не забудьте закрыть все активные приложения и сохранить документы в них, тем самым предотвращая потерю информации. Затем применяйте «Готово».
- ПК будет перезагружен, а все системные файлы и настройки в нем будет сброшены к выбранной точке восстановления. Если она была создана до возникновения ошибки 0x0000000a и причиной сбоя была не аппаратная составляющая, то в этом случае с большим уровнем вероятности вы избавитесь от указанной проблемы.