Чтобы отпраздновать Хэллоуин на этой неделе, ветеран Windows Рэймонд Чен покопался в длинном списке кодов проверки ошибок Windows и придумал нечто неясное и смутно угрожающее — Thread Reaper.
Это проверка ошибок 0x13
и назван EMPTY_THREAD_REAPER_LIST
.
Откуда взялся этот код? В конце концов, он никогда не использовался ни в одной выпущенной версии Windows NT, и Чен сообщил, что поиск в базе данных отчетов об ошибках Windows не выявил ни одного упоминания о нем. EMPTY_THREAD_REAPER_LIST
код проверки ошибок, отличный от сбоя памяти, который немного изменился при проверке ошибок 0x113.
Поэтому возникает вопрос: для чего использовался этот код проверки ошибок? По словам Чена, он был представлен на ранних стадиях разработки Windows NT и ему присвоен номер. Числа никогда не переназначаются во избежание путаницы, поэтому они остаются, даже если они никогда не будут активированы.
Чен объяснил: «В ядре Windows объекты обычно несут ответственность за самоуничтожение. Это не представляет проблемы для большинства категорий объектов. не могут уничтожить — это их собственный стек, потому что они выполняются в этом стеке».
Итак, как только это будет сделано, поток завершается и очищается. И непосредственно перед тем, как отправиться в великую загробную жизнь, он уведомляет жнеца нитей, что его останки можно, ну, ну, пожать. Чен добавил: «Reaper потоков — это компонент, единственная цель которого — освободить стеки потоков с истекшим сроком действия».
И это все хорошо, если только жнецу нитей не прикажут собрать что-то, чего там нет, и… бум. Произойдет проверка ошибок Windows.
Это не хуже любой другой теории.
Чен предположил, что жнец потоков, должно быть, был переработан, что означало, что ошибка не возникнет и проверка ошибок не будет запущена. Таким образом, код остался в документации, но не служил никакой цели, кроме как породить несколько сотен плохих каламбуров Blue Öyster Cult.
Регистр — спросил Дэйв Пламмер, известный как диспетчер задач Windows, о его мыслях. «Это не то, с чем я когда-либо сталкивался!» он сказал. «Если бы это произошло, это было бы фатальным состоянием, поскольку этого «никогда не должно произойти», и, следовательно, проверка на наличие ошибок».
В наше время мы все сталкивались со странным «синим экраном смерти». Возможно, сейчас подходящий момент добавить экран смерти Blue Öyster Cult в список вещей, о которых следует беспокоиться пользователям Windows. ®