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)