STOP: 0x0000007F (BSoD/Син Екран)

[UPDATED: 2010.07.19]

Доста интересна случка имах преди време: трябваше да погледна един компютър (Windows XP), който от около месец проявява един много досаден симптом – рестартира се спонтанно. Причините? Вероятно са много 🙂 В такива моменти човек все трябва да започне от някъде. Аз тръгнах от тук: какво значи “спонтанно рестартиране”?

Но първо нека видим пътищата, през които преминава един “спонтанен” рестарт (обобщавам два случая):

  1. Windows работи -> хардуерна случка/проблем -> блокиране на ОС или мигновено рестартиране на машината;
  2. Windows работи -> възникване на неочакван проблем в ядрото (Kernel-а) -> запис на minidump файл в %systemroot%\minidump -> рестартиране на машината.

В Windows Minidump е файл, в който се записва информация за състоянието на регистрите на процесора, call stack-а, заредените модули и др. в момента на възникване на фаталната грешка. След това файлът може да се анализира с debugger и евентуално да се открие и отстрани причината.

Знаейки това, можем да категоризираме причините:

  1. Хардуерен проблем (лошо захранване/лош контакт между някой от компонентите и съответния му слот/бъгава памет/издути кондензатори/студена спойка и т.н.) – тук, за съжаление, няма да имаме никаква следа в логовете на Windows;
  2. Софтуерен проблем (проблемни драйвери) – в този случай ще се генерира minidump;
  3. Микс: хардуерен проблем предизвиква софтуерния – тук отново имаме сламка: генерира се minidump.

Първото нещо, което направих е да видя дали има dump файлове в %systemroot%\minidump. Имаше! И бяха много 🙂
С помощта на една програма (която ще коментирам в отделна статия) разгледах най-пресния dump, в който се упоменаваше вида на BugCheck грешката – STOP: 0x0000007F (unexpected_kernel_mode_trap). Докато разглеждах състоянието на стека нещо в колонката “BugCheck String” ми направи силно впечатление:

Забелязахте ли? В над 50% от случаите BugCheck кодът е различен!!! Което за мен означава само едно – хардуерна грижа. Съмненията ми се затвърдиха и след като прочетох тази статия: http://support.microsoft.com/kb/137539.
Но причините пак може да са безброй: недобро охлаждане (дънна платка, процесор, захранване), лошо захранване, недобра връзка между различните кабели, бъгава RAM памет, лош контакт между компонентите и техните слотове…

И тогава приложих “номера на Китайката”: реших да отворя компютъра, да махна и сложа отново всички компоненти, които бяха поставени в цокли (модем, видеокарта, захранващ куплунг, RAM памет, IDE/SATA кабели и т.н).
Тъкмо да сложа и втория RAM модул – ОПАА – 512 мегабайтовата плочка имаше видим дефект: един от контактните пинове беше издраскан до безобразие, а при друг – цялото метално покритие се беше отлепило от печатната платка и се беше набръчкало:

Компютърът просто е работел на магия…Времето, вибрациите, окислението на контактните повърхности, качеството на материалите и т.н. са си казали своето и са се получавали грешки в паметта, а от там и компютърът се е рестартирал спонтанно.

Доста неочакван край нали?

После разбрах, че въпросната RAM памет е била взета на старо – за по-евтино.

Темата за евтиното ще засегна съвсем малко: замислете се, когато купувате компютри и компоненти на по-ниска цена. Да, има RAM памет и за $20, има и за $40 – и двете ще вършат едно и също нещо, но въпросът е в качеството на изпълнение и вложените технологични материали. Да, може да нямате финанси в момента за по-добрия вариант, но имате ли свободно време и излишни нерви, за да се занимавате с последствията?

Надявам се статията ми да Ви е полезна! Ако ли не с крайното решение, то поне с методологията. Всеки, който е имал подобни ситуации може да ги сподели 🙂

Кейсът е затворен 🙂

One thought on “STOP: 0x0000007F (BSoD/Син Екран)

  1. Хората са казали – евтиното винаги излиза скъпо.
    Специално рам памети с такъв проблем съм виждал няколко,като се почне от elexir та се стигне до geil и corsar.
    Tа идеята ми е колкото и да е качествен един компонент ,той въпреки всичко си има някакво време живот.
    Иначе браво за интересната статия

Leave a Reply

Your email address will not be published. Required fields are marked *

*