|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Valentin Davydov 2:5020/400 09 Jan 2003 10:55:05 To : Stanislav Latishko Subject : Re: Всего-то работа с логами ... -------------------------------------------------------------------------------- > From: Stanislav Latishko <sl@sl.spb.su> > Date: Wed, 08 Jan 2003 11:45:34 +0300 > > Вот тебе пример из жизни. (Произошло году в 90-м на ЭВМ ЕС1033, >но до сих пор поражает мое воображение _неочевидными_ логическими связями) >При переходе АЦПУ в состояние "не готово" машина уходит в глухое зависание >(цикл под закрытыми масками), либо аварийно завершается случайная(!) задача. >Причина: сбой на диске в библиотеке с программами обработки машинных ошибок. >Цепочка: неготовность АЦПУ рассматривается как машинная ошибка. Обработчик >ошибки загружается с диска специальным "урезанным" супервизором в/в (расчи- >танным на работу при неисправном железе), и он не ловит данный тип ошибки >на диске - в результате с диска таки загружается программа обработки ошибки, >но не та, которая нужна, а следующая по физическому расположению. Когда она >получает управление - возникает программное прерывание в задаче обработки >ошибок. Поскольку данная задача должна умирать последней - супервизор >принимает решение о необходимости аварийного завершения пользовательской >задачи, вызвавшей данную машинную ошибку. Hо прерывание в/в по переходу АЦПУ >в неготовность приходит в случайный момент времени, т.е. никак не связано >с задачей, работающей с этим АЦПУ, в результате "жертвой" становится >последняя работавшая задача. Если такой задачей оказывается КРОС - у него >опять же свои понятия о действиях в аварийной ситуации - он переходит в >закрытый цикл. > > Все просто ? Да, когда тебе это выдали на блюдечке. Между причиной >(нажатие кнопки на АЦПУ) Hеверно. Причиной зависания является не нажатие кнопки на АЦПУ, а криво написанные компоненты операционной системы, начиная с "урезанного супервизора". > Вот _с подобными_ ситуациями я и имею дело (ну, малость попроще, >обычно) Т.е. начинаешь с _видимого_ следствия, требуется добраться до >причины. А цепочка может быть огромной... Обычно всё до обидного просто. Беглый взгляд в сырцы открывает бездну каких-нибудь length(malloc(...)) или gets(...), после чего в логи уже можно и не смотреть. Вал. Дав. --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/6577d0f034de.html, оценка из 5, голосов 10
|