На лов за бъгове във Fedora

Само преди няколко седмици в курса ни по QA and Automation 101 се проведе първото по-практическо занятие с цел намиране на бъгове.

Курсистите имаха за задача да обновят инсталация на Linux дистрибуцията Fedora 23 до версията за разработка, наречена Rawhide.

В момента Rawhide представлява софтуерът, от който ще бъде създадена версията Fedora 25. Очаква се да има грешки, но колко сериозни са и колко от тях успяха да намерят нашите курсисти?

Резултатът - 11 бъга бяха открити и добавени в Бъгзила!

Едно голямо браво за всички, които за пръв път се сблъскаха с откриването на бъгове!

Ето ги и самите бъгове. И преди да започнете с четенето, една препоръка - хубаво е да познавате Linux OS. ;)

Бъг #1

Липсва бутон за опресняване на CAPTCHA при регистрация!

Всеки курсист трябваше да се регистрира в системата FAS (Fedora Account System) преди да започне тестването.

Оказа се, че когато е допусната грешка в регистрационната форма трябва да се върнем обратно, използвайки бутона Back в браузъра.

Това връщане обаче не опреснява CAPTCHA картинката, след което получаваме грешка за невалиден CAPTCHA код. Липсва и бутон за ръчно опресняване на картинката.

Бъг #5323 беше открит и репортнат от Елизабета Петкова.

Бъг #2

Файлов конфликт между vim-common и vim-minimal.

По подразбиране Fedora 23 инсталира текстовият редактор vim в неговата непълна версия. Ако опитате да инста лирате пълната му версия, vim-enhanced ще се сблъскате с проблема:

Error: Transaction check error:
  file /usr/share/man/man1/vim.1.gz from install of
  vim-common conflicts with file from package vim-minimal

Бъг #1339713 е открит и репортнат отново от Елизабета. Правилното решение е документацията да бъде изнесена в отделен пакет и да се инсталира самостоятелно. ;)

Бъг #3

Файлов конфликт между system-python-libs и python3-libs.

От Fedora 24 се въвежда разделение между версиите на Python използвани за системни програми и тези използвани, за да програмирате ваши собствени проекти.

Това дава повече свобода на програмистите, да използват най-новите версии на езика като обаче позволява системните приложения да се променят сравнително рядко.

При обновяване до Rawhide (или дори Fedora 24) се получава файлов конфликт, защото библиотеката libpython3.so е предоставена от 2 различни пакета, които не могат да бъдат инсталирани заедно.

Бъг #1339719 е открит и репортнат от Стефан Хоптериев и веднага привлече вниманието на Python3 разработчика на Fedora!

Бъг #4

Файлов конфликт между streamer1-plugins-base и gstreamer1-plugins-bad-free.

Поредният файлов конфликт при обновяване, този път между кодеци от пакета gstreamer1-plugins. Резултатът отново е невъзможност да се обнови системата, когато имате gstreamer1-plugins-bad-free инсталиран.

Бъг #1339731 е открит и репортнат от Паола Стоянова.

Бъг #5

При обновяване липсва опция --skip-broken.

Файлови конфликти и грешки при обновяване са често срещани когато работиш с най-новите пакети и си един от първите, които ги тестват. В миналото това можеше да бъде избегнато много лесно с подаването на опцията --skip-broken:

dnf update --skip-broken

Оказа се, че при промяната на пакетния мениджър на Fedora, от yum на dnf, тази опция е премахната и е заменена с неясното --setopt=strict=0!

Т.к. много потребители не са запознати с това, правилното решение е да бъде въведена опцията --skip-broken, която да действа като синоним на --setopt=strict=0!

Бъг #1339739 е открит и репортнат от Иво Димитров.

Бъг #6

След обновяване не се стартира GDM.

Въпреки всичките проблеми курсистите успяха да обновят своите линукс инсталации до версията Rawhide.

След рестарт очаквахме да се включи екранът за графичен логин (т.нар. GDM), но това не стана. Проблемът се случи на няколко различни среди за виртуализация, а при други всичко работеше нормално.

Резултатът е, че компютърът става неизползваем, защото екранът става черен. Понеже е трудно да се логнем в неработещия компютър събирането на информация за диагностика е още по-трудна.

Бъг #1339746 е открит и репортнат от Мария Дамянова.

Бъг #7

Грешка по време на инсталация!

Някои от курсистите решиха да пробват нова инсталация на Fedora, но бяха изненадани от поредният бъг, този път по време на самата инсталация.

Бъг #1339701 е открит и репортнат от Велко Капитанов, използвайки иструментите за автоматично репортване на бъгове в инсталатора на Fedora.

Бъг #8

Командата ping6 не работи със съкратени IPv6 адреси.

IPv6 адресите се състоят от 128 бита, обикновено изписвани в 8 групи от по 4 шестнадесетични цифри. Например:

2001:0db8:85a3:0000:0000:8a2e:0370:7334

Допустимо е водещите нули във всяка група да се запишат само с една цифра. Например:

2001:db8:85a3:0:0:8a2e:370:7334

Групите, в които има последователни нули могат да бъдат заменени с празна група и двоеточие. Например:

2001:db8:85a3::8a2e:370:7334

Последният формат е напълно валиден, но не се разбира от командата ping. Този бъг е открит и репортнат от Симеон Монов.

Бъг #9

Oпцията -n на командите ipcalculator и ipcalc се държи по различен начин.

Командите ipcalculator и ipcalc се използват за пресмятане на IP адреси и мрежови маски. Във Fedora 24 ще бъде премахната командата ipcalculator и ще остане само ipcalc, която трябва да изпълнява същите функции.

Проблемът е, че двете команди имат опция с име "-n", която изпълнява две различни функции и може да доведе до счупване на всички скриптове, които използват ipcalculator.

Този бъг е открит и репортнат от Ани Стойчева.

Бъг #10

Липсват няколко задължителни пакети xorg-x11-drv-*.

Някои от курсистите предпочетоха да инсталират Fedora само в текстов режим и успяха да обновят към Rawhide сравнително лесно. При опит за инсталация на графичния режим обаче срещнаха проблеми със следната команда:

dnf groupinstall "Basic Desktop"

Във Fedora можете да инсталирате цели групи от софтуер вместо всяка програма по отделно. Какви програми влизат в състава на групите се описва във файл с името comps.xml. Този файл представлява карта: име на група + списък от пакети.

Проблемът е, че няколко графични драйвера вече са остарели и са били премахнати, а други от тях са само за процесорна архитектура ARM. Решението е те да бъдат изтрити от файла comps.xml.

Бъг #1339742 е открит и репортнат от Димитър Савов и вече е почти оправен.

Бъг #11

Парола с въпросителни успя да счупи регистрацията в OpenShift.

Последният бъг за вечерта успя да счупи регистрацията в OpenShift - клауд платформата на Red Hat! При задаване на парола с няколко въпросителни накрая, сайтът изписа съобщение за грешка.

Бъг #1339709 е открит и репортнат от Павлина Вацева.

Понеже тя не успя да репродуцира същия проблем отново, единственото, което може да се направи и да се предостави максимално много информация за времето на инцидента.

Техническата поддръжка на Red Hat може да използва информацията, за да намери инцидента в логовете на системата и да провери дали той е в резултат от действията на потребителя или нещо друго се е счупило в същия момент.

В заключение

Всички намерени бъгове са сериозни и демонстрират неработеща система или пречат на правилното й функциониране. В няколко от случаите имаме заобиколно решение, но въпреки това проблемите трябва да бъдат разрешени.

Курсистите се справиха много добре с намирането и репортването на първите си бъгове в публичен бъг тракер. Пожелаваме на всички успешно завършване и още много намерени бъгове, за да направят софтуера по-добър!



comments powered by Disqus