Проблема затрагивает версии операционной системы с 8-й по 10-ю. Пользователь GitHub под псевдонимом leo-yuriev сообщил об уязвимости в версиях Windows с 8-й по 10-ю, вызывающей взаимную блокировку (deadlock) в файловых операциях. Процедуры из трех операций LockFile + WriteFile + UnlockFile; Два потока, конкурентно выполняющие процедуру; В результате возникает взаимная блокировка между потоками, но процесс можно убить без видимых последствия для ядра. В качестве побочного эффекта замечено, что в результате взаимной блокировки утилита Process Hacker для мониторинга системных процессов и служб не может получить имя файла по проблемному хендлу. Хендл становится "unnamed" и исчезает из отображаемого набора (при наличии соответствующего флажка по умолчанию). Примерные трейсы из ядра из 8.1-ent Стек первого потока: nt!KiSwapContext+0x7a nt!KiCommitThreadWait+0x1d2 nt!KeWaitForSingleObject+0x19f nt!IopSynchronousServiceTail+0x2a9 nt!NtLockFile+0x514 nt!KiSystemServiceCopyEnd+0x13 Стек второго потока: nt!KiSwapContext+0x7a nt!KiCommitThreadWait+0x1d2 nt!KeWaitForSingleObject+0x19f nt!IopAcquireFileObjectLock+0x84 nt! ?? ::NNGAKEGL::`string'+0x491d5 nt!KiSystemServiceCopyEnd+0x13 С работающим тест-кейсом можно ознакомитьсяздесь. Взаимная блокировка – ситуация в многозадачной среде или СУБД, при которой несколько процессов находятся в состоянии бесконечного ожидания ресурсов, занятых самими этими процессами. По поводу рекламы писать в ЛС! 08.03 26.04