информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Сетевые кракеры и правда о деле ЛевинаПортрет посетителяЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / operating systems
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
[NT] Хуже :-) 07.07.03 15:00  Число просмотров: 1460
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Бывает у меня такая фигня — после восстановления из
> hibernate иногда подвисает аудио, и тогда, если какая-то
> прога попыталась вывести звук, то виснет, прибиваешь её,
> окна этой проги пропадают, но процесс висит и ничего с ним
> нельзя сделать. Никак. Потом сама XP при выключении при
Это нормальное поведение проги, если она залочена в дривере. Например вызвала DeviceIoControl, а дривер возьми и повисни на двойном CriticalRegion-е например, или мутекса какого ожидает. В общем дривер не завершает и не кэнселит IRP, а прога висит. Это свидетельствует о кривом дривере аудио. По крайней мере о кривой обработке IRP_MJ_POWER.

> выключении грязно ругается на этот процесс, говоришь ей,
> что прибить, и всё — помогает только Reset. Наверное, это и
> есть «зомби»? Или это хуже? ;-)
А зомби это нормальное состояние процесса. Каждый процесс на краткий миг становится зомбей и проходит через это. Но в моем случае он зомбей и остается. Из win32 зомбей не видно вообще. Можно увидеть только из дривера при проходе по списку EPROCESS-ов (ну или из сайса, который именно этим и занимается). У зомби нет ничего, кроме этого самого EPROCESS-а. А вот он удалиться не может.
<operating systems>
[NT] Что делать с зомбями? 07.07.03 13:54  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
Это не те, у которых родитель умер. В терминологии от MS, зомби - это процесс, который уже не работает, но еще имеет описатель процесса. То бишь в SoftICE он отображается как Deleting.

Так вот и в XP Rus и в XP SP1 Rus со стандартным девелоперским софтом, SoftICE Driver Suite 2.6, MSDN, VC6 и т.д. процессы вообще никогда до конца не прибиваются.

Это бы ничего, но по команде proc сайс находит первый попавшийся процесс с нужным именем. Точно также адресного пространства у зомби нет, а addr тоже пытается подключиться к адресному пространству первого попавшегося процесса. Вот и получается, что если при отладке процесс запускался больше раза, то приходится листать proc-ем все процессы и переключаться в addr по адресу. Это конечно работает, но сильно напрягает.

Кто нибудь знает, как избавиться от зомбей. Ну или чего они ждут, в том смысле, что не дает им удалиться полностью?
[NT] Может, кто-то владеет дескриптором и не освободил его? Они же Reference-counted... 07.07.03 13:59  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
[NT] Может и так. Поищу кто может делать референсы на ВСЕ запускаемые процессы 07.07.03 14:13  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
Хреново только, что дрова тоже могут это делать, а у меня их довольно много. Если б кто на чистой XP-хе поглянул. Тогда б я точно знал, что это появилось уже в результате моей деятельности.
[NT] Честно говоря, я ни одного живого «зомби» не видел ;-) Хотя… 07.07.03 14:39  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
Бывает у меня такая фигня — после восстановления из hibernate иногда подвисает аудио, и тогда, если какая-то прога попыталась вывести звук, то виснет, прибиваешь её, окна этой проги пропадают, но процесс висит и ничего с ним нельзя сделать. Никак. Потом сама XP при выключении при выключении грязно ругается на этот процесс, говоришь ей, что прибить, и всё — помогает только Reset. Наверное, это и есть «зомби»? Или это хуже? ;-)
[NT] Хуже :-) 07.07.03 15:00  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Бывает у меня такая фигня — после восстановления из
> hibernate иногда подвисает аудио, и тогда, если какая-то
> прога попыталась вывести звук, то виснет, прибиваешь её,
> окна этой проги пропадают, но процесс висит и ничего с ним
> нельзя сделать. Никак. Потом сама XP при выключении при
Это нормальное поведение проги, если она залочена в дривере. Например вызвала DeviceIoControl, а дривер возьми и повисни на двойном CriticalRegion-е например, или мутекса какого ожидает. В общем дривер не завершает и не кэнселит IRP, а прога висит. Это свидетельствует о кривом дривере аудио. По крайней мере о кривой обработке IRP_MJ_POWER.

> выключении грязно ругается на этот процесс, говоришь ей,
> что прибить, и всё — помогает только Reset. Наверное, это и
> есть «зомби»? Или это хуже? ;-)
А зомби это нормальное состояние процесса. Каждый процесс на краткий миг становится зомбей и проходит через это. Но в моем случае он зомбей и остается. Из win32 зомбей не видно вообще. Можно увидеть только из дривера при проходе по списку EPROCESS-ов (ну или из сайса, который именно этим и занимается). У зомби нет ничего, кроме этого самого EPROCESS-а. А вот он удалиться не может.
[NT] Имхо, это хуже. 07.07.03 14:57  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка>
Если нельзя прибить процесс вплоть до повисания системы - это значит он вызвал что-то в ядре и там остался. Или я неправ?
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach