Egy újabb részlete a soha véget nem érő történetnek.

A jelenség röviden annyi, hogy a gép váratlanul lefagy. A kép ottmarad a monitoron, de az egérben kialszik a vörös fény, a zene megáll az utolsó hangnál és azon sípol folyamatosan, az USB csatlakozók kikapcsolódnak, a számítógép pedig nem érhető el semmilyen módon. Csak kikapcsolni lehet. (Mennyire retek már: nem ő kapcsolja le, naná, nem ő dob rajta kék halált – téged kényszerít arra, hogy kikapcsoljad.)

Ott fejeztem be, hogy lepasszoltam Janinak a vasat, hátha lát rajta valami furcsát. Szétszedte, megpucolta az érintkezőket, összerakta, felcserélt egy csatlakozási sorrendet – aztán pár napig tesztelt. Semmi hiba nem volt.

Így kaptam vissza a gépemet.

Beraktam a helyére, bedugtam a fenekébe mindent, bekapcsoltam – majd két percen belül le is fagyott az egész hóbelevanc. A szokásos jelekkel. A következő sikerélményem az volt, hogy bekapcsolás után hamarabb ki tudtam adni a Shutdown parancsot, mint ahogy megint lefagyott volna.

A Kétségbebesés Vermében az ember két dolgot tehet:

  • Szabadjára engedi az érzelmeit és addig rugdossa a falat, amíg fáj. A falnak.
  • Elővesz egy cetlit és számot vet: mi került a mínusz és mi került a plusz oldalra? Jutottunk-e előre ezzel a kudarccal?

Némi töprengés után a második megközelítést választottam. Nagy előrelépés, hogy nem a vasban és nem az operációs rendszerben rejtőzik a hiba. Menjünk végig, mi nem volt ugyanaz, mint Janinál.

  • A billentyűzet és az egér
  • A 82 – leginkább USB porton – rádugott mindenféle periféria
  • A monitor
  • Az áramellátás
  • A számítógépes sarokra jellemző pszi erők
  • A ház szellemei

A két utóbbit – habár respektálom őket – de most kihagytam a problémamegoldási folyamatból. A többinél viszont elkezdtem tesztelgetni.
Kihúztam minden felesleges perifériát. Csak az egér, a billentyűzet, a monitor és a hálózat maradt. Fagyott, mint Leningrád szilveszterkor.

Akkor lehet, hogy áramot nem kap? Végülis, egy konnektorra van rádugva – hosszabbítók erdején keresztül – vagy tíz fogyasztó. Kihúztam mindent, csak azok maradtak, amelyek feltétlenül kellettek.
Fagyott, mint egy Szaratov jégszekrény.

Elkezdtem alaposabban is átnézni ez eventlogot. Igaz, maga a fagyás nem produkál bejegyzést, de hátha akad valami gyanús.

És akadt. Az újraindításoknál mindig kiírta, hogy nem tud betölteni egy pfc.sys nevű drivert, mert az nem ehhez az operációs rendszerhez való. Google. Határozottan szagot kaptam. Azt írták, hogy ez egy rejtélyes eszközvezérlő, mely valamelyik cédéíró szoftverrel kerül fel a gépre. (Azokkal pedig határozottan sokat kinlódtam az utóbbi másfél évben.) És nem elég, hogy rejtélyes – de többen is fagyásokra panaszkodtak.
Kell ez nekem? Nem. Legalábbis ilyen áron. Hogyan lehet leirtani? Erre is elég sok találatot kaptam (komolyan, voltak köztük ilyen ‘éjfélkor keresztúton szüzet áldozunk’ tipusú megoldások is), de ez volt az, amelyik a tuti megoldást hozta. (Habár az esetleírásnak semmi köze az eddigiekhez, meg a pfc.sys sem szerepel explicit módon a cikkben, de maga az eszközvezérlő betöltését a registryből törlendő kulcs alatti egyik bejegyzés írja elő.)

Na, pfc.sys eltűnt. Teszt. Határozott javulás történt: most már csak pár óra után fagyott, mint jegesmedvepisi a levegőben.

Még mindig eventlog. Az ugye teljesen természetes, hogy belekerül egy bejegyzés, miszerint a korábbi lekapcsolás váratlan volt. Hiszen a Windows számára teljesen váratlanul kapcsoltam ki a gépet. De biztos, hogy én? Ugyanis amikor éjszaka ott hagytam tesztelni, majd reggel konstatáltam, hogy igen, éjszaka valamikor lefagyott – akkor meglepő dolgot tapasztaltam: nem azt tekintette váratlan kikapcsolásnak, amikor reggel megnyomtam a gombot, hanem azt, amikor éjszaka lefagyott! Azaz nem csak sima lefagyásról van szó: valamitől újra szeretne indulni, vagy le szeretne állni – de ez nem sikerül neki és lemered.
Beállítottam, hogy hiba esetén ne induljon újra, ott hagytam – és délutánra megint lefagyott.

Szereztem tesztelésre billentyűzetet és egeret. Méghozzá két USB-set. (Az én billentyűzetem még PS2-es, szóval ez is egy hibalehetőség.) Bedugdostam, bekapcsoltam. Egy ideig borzalmasan reszelt a Windows, be sem tudtam lépni, mert a billentyűzetre nem reagált – aztán egyszer magához tért.

És azóta nem tud hibázni. Kipróbáltam mind a négy kombinációt (saját/külső egér/billentyűzet) és minden felállásban ment legalább egy napot. Hiba nélkül. Most például az eredeti felállásban megy, minden csatlakozót visszadugtam, minden periféria működik.

Mi történt? Mi változott?

Például több az ősz hajszálam.

Más változás nincs.

Elméleteim azért vannak:

  • Az USB billentyűzet berakásakor – amikor olyan sokat reszelt a Windows – valószínűleg újrarakta a human interface drivereket is. Ezzel kilőhette a fagyogatós példányt.
  • Amíg az ember keresi a hibát, egész véletlenül ki is tudja javítani azt, miközben fogalma sincs, mi is lehetett az eredeti hiba – és melyik mozdulat volt a javítás.

Jogos lehet a kérdés, hogy ha már végigültem Berlinben egy crash analyzis előadást, hogyhogy nem hasznosítottam az ott megszerzett tudást?
Hát úgy, hogy ez nem crash. Hiába van ott a sötét veremben a nyom, mely a bűnös komponenst azonosítaná, de a gépben megállt az élet, nincs semmi, ami kiírná a verem tartalmát a vincseszterre.

Biztos?

Nos, pont ez volt az egyik vad ötlet az előadáson. Ha lefagyott a gép és semmire sem reagál, akkor csináljunk mi mesterségesen egy crash-t. Kívülről, naná. Odabent már minden fagyott, mint a náthás eszkimó orrlyuka.
Vannak is rá módszerek. Sajnos demóban csak virtuális gépen mutatta be az előadó, az meg ugye nem ugyanaz. Ami nálam megmaradt, hogy egy bizonyos registry kulcs beállításával el lehet érni, hogy ha ps2-es billentyűzetet dugok be, akkor összedől végre a rendszer – és kiírja a memória tartalmát a memory.dmp fájlba. Amit utána már vidáman lehet elemezgetni a windbg-vel.

Roppant sajnálatos, hogy mire ez eszembe jutott, magától megjavult a gép.

Nézzük, mi a helyzet a többi fronton?

Úgy néz ki, tudom kezelni a munkahelyi gépemet is. Ha nem indul, hát nem indul. Elmegyek haza. Na jó, nem igazán. Viszont ha kihúzom a konnektorból, kiszedem az akksiját, majd visszadugok mindent, simán elindul. Mostanság már egyből így kezdem, mire lefő a tea, már indul is a gép.

Ellenben most az ügyfélterminálom romlott el. Csak hogy ne unatkozzak a jövő héten sem.