Æåíñêîå ýòî äåëî
 îêîííîì ìåíåäæåðå Enlightenment E16 äëÿ Linux óñòðàíåí ãëþê, ñóùåñòâîâàâøèé â íåì äåñÿòèëåòèÿìè è ïðèâîäèâøèé ê åãî çàâèñàíèÿì. Êàê ïèøåò The Register, èñïðàâèòü åãî ñìîãëà ðàçðàáîò÷èê ÏÎ Êàìèëëà Øåâ÷èê (Kamila Szewczyk). Îíà îáíàðóæèëà åãî âî âðåìÿ ïîäãîòîâêè ïðåçåíòàöèè äëÿ ñâîåãî êóðñà, êîòîðûé îíà ïðåïîäàåò â êà÷åñòâå àñïèðàíòêè â Ñààðëàíäñêîì óíèâåðñèòåòå â Ãåðìàíèè.
Íà ìîìåíò âûõîäà ìàòåðèàëà Êàìèëëå áûë 21 ãîä. Êîãäà òî÷íî ïîÿâèëñÿ ýòîò áàã, îñòàåòñÿ íåèçâåñòíûì, íî ñóùåñòâóåò âåðîÿòíîñòü, ÷òî îí ñòàðøå ñàìîé Êàìèëëû, ïîñêîëüêó äåáþò Enlightenment E16 ñîñòîÿëñÿ çà ñåìü ëåò äî åå ðîæäåíèÿ, â 1997 ã. Ïî äàííûì The Register, áàã çàêðàëñÿ â êîä ìåíåäæåðà 20 ëåò íàçàä, íî ðàçðàáîò÷èêè ýòî íå ïîäòâåðæäàþò.
×òî ñëó÷èëîñü
Enlightenment E16 ðàñïðîñòðàíÿåòñÿ ñ îòêðûòûì èñõîäíûì êîäîì è äî ñèõ ïîð îòíîñèòåëüíî àêòèâíî ïîääåðæèâàåòñÿ ñîîáùåñòâîì ðàçðàáîò÷èêîâ, ê ÷èñëó êîòîðûõ ñåáÿ ïðè÷èñëÿåò è Êàìèëëà. Ñàìàÿ ïîñëåäíÿÿ åãî âåðñèÿ íà ìîìåíò âûõîäà ñòàòüè äàòèðîâàíà àâãóñòîì 2024 ã. è èìååò èíäåêñ 1.0.30.
Enlightenment E16 íå ñòîèò ïóòàòü ñ áîëåå ñîâðåìåííûì îêîííûì ìåíåäæåðîì Enlightenment E25. Å16 ìîæíî óñòàíîâèòü íà ìíîãèå ñîâðåìåííûå äèñòðèáóòèâû Linux, íàïðèìåð, íà Ubuntu, Debian, Fedora, Mandriva è OpenSUSE.
 ñâîåì áëîãå 21-ëåòíÿÿ Êàìèëëà íàïèñàëà, ÷òî âíåçàïíî ñòîëêíóëàñü ñ çàâèñàíèÿìè Å16. «Ó ìåíÿ áûëî íåñêîëüêî PDF-ôàéëîâ ñî ñëàéäàìè ëåêöèé è ëèñòîì ñ óïðàæíåíèÿìè, íàáðàííûìè â LaTeX.  êàêîé-òî ìîìåíò ÿ îòêðûëà îäèí èç íèõ â Atril (ïðîñìîòðùèê äîêóìåíòîâ â ãðàôè÷åñêîé ñðåäå MATE – ïðèì. CNews), è âåñü ðàáî÷èé ñòîë çàâèñ», – íàïèñàëà îíà.
Ïî åå ñëîâàì, â äàëüíåéøåì ïðîáëåìà ïðîÿâèëà ñåáÿ åùå íåñêîëüêî ðàç, íî ïîíà÷àëó Êàìèëëå íå óäàëîñü óñòàíîâèòü ïðè÷èíó åå âîçíèêíîâåíèÿ.
Îäíàêî â èòîãå èñòî÷íèê ñáîÿ áûë âûÿâëåí. Îêàçàëîñü, ÷òî E16 çàâèñàë ëèøü â ìîìåíòû, êîãäà ïûòàëñÿ ñîêðàòèòü ñëèøêîì äëèííîå èìÿ ôàéëà, ñ êîòîðûì ðàáîòàëà Êàìèëëà.
Ðåøåíèå íàéäåíî
Ïðîâåäÿ íåáîëüøîé àíàëèç êîäà Å16, Êàìèëëà ïðèøëà ê âûâîäó, ÷òî èñïîëüçóåìûé â Å16 àëãîðèòì óñå÷åíèÿ çàãîëîâêà îêíà ðåàëèçîâàí áåç îãðàíè÷åíèÿ íà êîëè÷åñòâî èòåðàöèé. Áåç ýòîãî îãðàíè÷åíèÿ ïîèñê ïî ìíîãîòî÷èþ ìîã áåñêîíå÷íî ïåðåêëþ÷àòüñÿ ìåæäó òî÷êàìè óñå÷åíèÿ, çàâèñàÿ íà ðàáî÷åì ñòîëå â ïðîöåññå ïîèñêà çàãîëîâêà.
Íàéäÿ ïðè÷èíó ïðîáëåìû, Êàìèëëà ïîäãîòîâèëà ïàò÷ äëÿ ñáîðêè 1.0.30. Èñïðàâëåíèå âíîñèò â êîä ìåíåäæåðà îêîí òðè èçìåíåíèÿ, â ñîâîêóïíîñòè ãàðàíòèðóþùèõ, ÷òî ïðîáëåìà íå âîçíèêíåò ïîâòîðíî.
Ïåðâîå íîâîââåäåíèå – ýòî îãðàíè÷åíèå êîëè÷åñòâà èòåðàöèé. Êàìèëëà ïîñ÷èòàëà, ÷òî 32 áóäåò äîñòàòî÷íî. Âòîðîå – îíà ïðåäîòâðàòèëà âîçíèêíîâåíèå âûðîæäåííîãî ïåðåêðûòèÿ èç-çà îòðèöàòåëüíûõ èñïðàâëåíèé. Íàêîíåö, òðåòüå èçìåíåíèå â êîäå – ýòî çàùèòà îò îøèáêè äåëåíèÿ íà íîëü.
Ñòàðîå ëó÷øå íîâîãî
Êàìèëëà ñîîáùèëà The Register, ÷òî îòäàåò ïðåäïî÷òåíèå èìåííî Å16, à íå ñîâðåìåííûì ìåíåäæåðàì îêîí, ñ÷èòàÿ åãî áîëåå çàâåðøåííûì è ñòàáèëüíûì. È îíà óâåðåíà, ÷òî áîëåå íîâûå àíàëîãè Å16 òîæå ñîäåðæàò ïîäîáíûå îøèáêè â êîäå.
«Áåç ñîìíåíèÿ, ïîäîáíûå îøèáêè ñêðûâàþòñÿ â ìèëëèîíàõ ñòðîê êîäà, îáåñïå÷èâàþùèõ ðàáîòó ñîâðåìåííûõ ñðåä ðàáî÷åãî ñòîëà è îêîííûõ ìåíåäæåðîâ», – íàïèñàëà îíà èçäàíèþ The Register â ýëåêòðîííîì ïèñüìå.
Òàêæå ó íåå åñòü âïîëíå ñôîðìèðîâàííîå ïðåäóáåæäåíèå ïðîòèâ ñîâðåìåííûõ ãðàôè÷åñêèõ ñðåä è îêîííûõ ìåíåäæåðîâ. Îíà ñ÷èòàåò, ÷òî íûíåøíÿÿ ôèëîñîôèÿ ðàçðàáîòêè ïðîãðàììíîãî îáåñïå÷åíèÿ, êîòîðîé ïðèäåðæèâàþòñÿ ýòè ïðîäóêòû, â êîíå÷íîì èòîãå êîíòðïðîäóêòèâíà è ìåíåå áåçîïàñíà äëÿ ïîëüçîâàòåëåé.
«Ìíå êàæåòñÿ, ìû íåìíîãî ñáèëèñü ñ ïóòè, – ñêàçàëà Êàìèëëà The Register. – Ìû íåäîñòàòî÷íî çàèíòåðåñîâàíû â òîì, ÷òîáû ïðèçíàòü, ÷òî ðàçðàáîòêà ïðîãðàììíîãî îáåñïå÷åíèÿ ìîæåò áûòü áîëåå èëè ìåíåå çàâåðøåíà íà êàêîì-òî ýòàïå».
Îíà ïîñòàâèëà â ïðèìåð èìåííî Å16. Ïî åå ñëîâàì, çà 29 ëåò îí ïîëó÷èë ìíîæåñòâî îáíîâëåíèé, íî â íèõ ðàçðàáîò÷èêè äåëàëè àêöåíò íà óñòðàíåíèå îøèáîê, à íå íà âíåäðåíèå îáèëèÿ íîâûõ è íåíóæíûõ ôóíêöèé.



