ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: nginx -t > Illegal instruction



Hello!

On Tue, Oct 15, 2013 at 06:14:21PM +0300, Sergey Talchuk wrote:

> Всем привет!
> 
> собрал nginx для своей системы без проблем (собирал на ней же). Только
> похоже при запуске nginx -t не может определить тип процессора. К
> сожалению, система находится на носителе доступном только для чтения.
> Поэтому отдебажить системные библиотеки не представляется возможным.
> Надеюсь на помощь.

[...]

> Program received signal SIGILL, Illegal instruction.
> 0x0805dca5 in ngx_cpuid (i=0, buf=0xbffff950) at src/core/ngx_cpuinfo.c:30
> 30      src/core/ngx_cpuinfo.c: No such file or directory.
>         in src/core/ngx_cpuinfo.c
> (gdb) bt
> #0  0x0805dca5 in ngx_cpuid (i=0, buf=0xbffff950) at
> src/core/ngx_cpuinfo.c:30
> #1  0x0805dbbb in ngx_cpuinfo () at src/core/ngx_cpuinfo.c:84
> #2  0x0806e4f7 in ngx_os_init (log=0x80c27a8) at
> src/os/unix/ngx_posix_init.c:60

[...]

> cat /proc/cpuinfo
> processor       : 0
> vendor_id       : CyrixInstead
> cpu family      : 4
> model           : 1
> model name      : Cx486SLC
> stepping        : unknown
> fdiv_bug        : no
> hlt_bug         : no
> f00f_bug        : no
> coma_bug        : no
> fpu             : no
> fpu_exception   : no
> cpuid level     : -1
> wp              : yes
> flags           :
> bogomips        : 44.33

Ваш процессор настолько старый, что не поддерживает инструкцию 
cpuid.  Quick and dirty workaround - добавить return в самом 
начале функции ngx_cpuinfo() в src/core/ngx_cpuinfo.c:

diff --git a/src/core/ngx_cpuinfo.c b/src/core/ngx_cpuinfo.c
--- a/src/core/ngx_cpuinfo.c
+++ b/src/core/ngx_cpuinfo.c
@@ -75,6 +75,8 @@ ngx_cpuinfo(void)
     u_char    *vendor;
     uint32_t   vbuf[5], cpu[4], model;
 
+    return;
+
     vbuf[0] = 0;
     vbuf[1] = 0;
     vbuf[2] = 0;


-- 
Maxim Dounin
http://nginx.org/en/donation.html

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.