Помощни статии
Illegal instruction грешка при Redhat/CentOS 6
Коментирано от Plamen Kalchev Включен 30 May 2016 11:43

Статията е насочена към клиенти, използващи услуга ICN.Bg Cloud сървър.

На 26.05.2016 в бъг тракинг системата на CentOS бе описан проблем, отнасящ се до некоректна работа на NSS библиотеките за криптация в CentOS 6. Този бъг се наблюдава само при сървъри базирани на Redhat, които работят върху XEN виртуализация. При ъпдейт на библиотеката всички приложения използващи NSS за TLS връзка връщат грешка "Illegal instruction" и изпълнението спира. Към засегнатите пакети спадат python, php, curl, apache, yum и много други. Възникналия бъг е в последствие нова версия на пакета в която няма пълна поддръжка на AVX. Официалното становище на RedHat е следното: 

"Although RHEL 6.8 does not fully support AVX extensions some packages are still aware of the availability of AVX extensions. The nss-softoken package attempts to use AVX extensions to accelerate AES encryption operations, and this accelerated encryption operation fails.

Note: This issue has been reported on RHEL 6 guests running on a XEN hypervisor with processors that have AVX extensions."

Kъм този момента няма официално решение на случая.

Ако използвате cPanel на нашата Cloud инфраструктура Ви съветваме да изключите автоматичните ъпдейти във WHM по следния начин:

WHM > Server Configuration > Update Preferences и изберете в карето "Operating System Package Updates" опцията "Manual Updates Only".

Ако не разполагате с контролен панел е нужно да се логнете в сървъра с SSH клиент(putty или някой друг) и под команден ред да изключите NSS библиотеката и нейните зависимости, за да не бъдат ъпдейтвани. Това може да направите като с текстов редактор отворите конфигурацията на Yum пакет мениджъра и добавите следния ред:

vim /etc/yum.conf

Променяте следния ред (пример за сървър със cPanel):

exclude=bind-chroot courier* dovecot* exim* filesystem httpd* mod_ssl* mydns* mysql* nsd* php* proftpd* pure-ftpd* spamassassin* squirrelmail*

на

exclude=bind-chroot courier* dovecot* exim* filesystem httpd* mod_ssl* mydns* mysql* nsd* php* proftpd* pure-ftpd* spamassassin* squirrelmail* nss*

Ако exclude редът липсва е нужно да го добавите по следния начин:

[main]
cachedir=/var/cache/yum/$basearch/$releasever
exclude=nss*
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

 

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

[root@server ~]# curl https://google.com

Illegal instruction

За момента все още няма предоставен patch или по-нова версия на NSS пакета, за да избегнете този бъг ние е нужно да извършите следните стъпки за downgrade на самия NSS пакет:

[root@server ~]# wget http://mirror.rackspace.com/centos/6.7/os/x86_64/Packages/nss-sysinit-3.18.0-5.3.el6_6.x86_64.rpm

[root@server ~]# wget http://mirror.rackspace.com/centos/6.7/os/x86_64/Packages/nss-tools-3.18.0-5.3.el6_6.x86_64.rpm

[root@server ~]# wget http://mirror.rackspace.com/centos/6.7/os/x86_64/Packages/nss-3.18.0-5.3.el6_6.x86_64.rpm

[root@server ~]# rpm -Uvh --force nss*

[root@server ~]# yum install yum-plugin-versionlock

[root@server ~]# yum versionlock nss-3.18.0-5.3.el6_6.x86_64 nss-tools-3.18.0-5.3.el6_6.x86_64 nss-sysinit-3.18.0-5.3.el6_6.x86_64

След като бъде извършен downgrade на версията е нужно да се уверите дали всичко работи коректно, като за целта е нужно отново да изпълните същата команда, с която се диагностицира този бъг и резултата трябва да е следния:

[root@server ~]# curl https://google.com

<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">

<TITLE>301 Moved</TITLE></HEAD><BODY>

<H1>301 Moved</H1>

The document has moved

<A HREF="https://www.google.com/">here</A>.

</BODY></HTML>


Коментари (0)
Направи нов коментар
 
 
Три имена:
Имейл:
Коментари:
CAPTCHA верификация 
 
Моля въведете текста, изписан на снимката в текстовото поле по-долу. Това е необходимо, за да се предотвратят автоматизирани регистрации и заявки.