Re: Всего-то работа с логами ...
- From
- Stanislav Latishko ()
- To
- Nickita A Startcev
- Date
- 2003-01-08T11:45:34Z
- Area
- RU.ALGORITHMS
Wed, 08 Jan 03 06:44:00 +0300 Nickita A Startcev (NAS) писАл[а] :
NAS> Не могу себе представить ситуацию, когда 'тема заранее неопределена'.
Развивай воображение.
NAS> IMHO грабли потеряны где-то рядом. Неужели нельзя например разбить систему
NAS> "интерфейсами" на "отдельные блоки" и проверить исправности всех блоков
NAS> поотдельности?
"Ну вы, блин, даете!"
Вот тебе пример из жизни. (Произошло году в 90-м на ЭВМ ЕС1033,
но до сих пор поражает мое воображение _неочевидными_ логическими связями)
При переходе АЦПУ в состояние "не готово" машина уходит в глухое зависание
(цикл под закрытыми масками), либо аварийно завершается случайная(!) задача.
Причина: сбой на диске в библиотеке с программами обработки машинных ошибок.
Цепочка: неготовность АЦПУ рассматривается как машинная ошибка. Обработчик
ошибки загружается с диска специальным "урезанным" супервизором в/в (расчи-
танным на работу при неисправном железе), и он не ловит данный тип ошибки
на диске - в результате с диска таки загружается программа обработки ошибки,
но не та, которая нужна, а следующая по физическому расположению. Когда она
получает управление - возникает программное прерывание в задаче обработки
ошибок. Поскольку данная задача должна умирать последней - супервизор
принимает решение о необходимости аварийного завершения пользовательской
задачи, вызвавшей данную машинную ошибку. Но прерывание в/в по переходу АЦПУ
в неготовность приходит в случайный момент времени, т.е. никак не связано
с задачей, работающей с этим АЦПУ, в результате "жертвой" становится
последняя работавшая задача. Если такой задачей оказывается КРОС - у него
опять же свои понятия о действиях в аварийной ситуации - он переходит в
закрытый цикл.
Все просто ? Да, когда тебе это выдали на блюдечке. Между причиной
(нажатие кнопки на АЦПУ) и следствием (зависание) выполняется несколько
десятков тысяц инструкций, несколько переключений задач, несколько опереций
в/в. Минимум 3 не связанных между собой задачи участвуют в создании ситуации.
Информация, по которой можно проследить причину, может уцелеть, а может быть
затертой другими задачами - это тоже случайно.
Вот _с подобными_ ситуациями я и имею дело (ну, малость попроще,
обычно) Т.е. начинаешь с _видимого_ следствия, требуется добраться до
причины. А цепочка может быть огромной...
--
Stanislav Latishko
sl@sl.spb.su ; 2:5030/949
--- ifmail v.2.14
* Origin: Привет с Большого Бодуна ! (2:5030/949@fidonet)