Skip to content

Firefox ja Seamonkey - setTimeout viga parandatud

13.04.2006 välja antud Firefox 1.5.0.2 ja Seamonkey 1.0.1 versioonid sisaldavad mitmete oluliste turvavigade paranduste kõrval ka lõpuks lahenduse Firefox 1.5 ja Seamonkey 1.0 versioonidesse tehtud window.setTimeout() veale. Tegemist oli väga tüütu veaga, mis segas kõikide selliste rakenduste tööd, kus kasutatakse kliendipoolset javaskripti taimerit. Tean juhtumit, kus seetõttu oli vaja Firefox 1.5'lt tagasi kolida versioon 1.0.7'le.

Gecko, Windows, mstsc, hyperthreading ja kopeerimine

Järgnevate tingimuste kokkulangemisel oled hädas andmete kopeerimisega (tavaline copy-paste ehk lõika-aseta ei toimi):
- Firefox, Thunderbird, Mozilla Suite või Seamonkey kuulub su igapäevaste töövahendite hulka,
- sinu Windows'i töölaual on lahti mõni Remote Desktop Client aken (mstsc),
- sinu arvutil on hyperthreading protsessor.

Põhjus väga lihtne - see seltskond ei saa omavahel suheldud ning andmete sünkroniseerimine eri virtuaalsete protsessorite vahel ei toimi. Lahendus tegelikult on lihtne. Võta lahti tegumihaldur (Task Manager) ning säti sealt kõik need protsessid (mstsc, firefox, seamonkey, jne) kasutama üht protsessorit (Set affinity käsk). Kui ei viitsi seda iga kord peale programmi käivitamist teha, siis Windows 2000 Server Supplement One Resource Kit sisaldab tarviku imagecfg.exe, millega saad sama asja ette ära konfida (mstsc puhul pead nad Windowsi süsteemikataloogist ära kopeerima).

Omast kogemusest järgi proovitud ja täitsa kasutatav lahendus seniks kuni Mozilla Foundation sellele bugile lahenduse leiab (Microsoft vaevalt midagi selleks ette võtab).