Problems with 0.9.1 on not so recent Linux kernels.

Igor Sysoev igor at sysoev.ru
Wed Dec 1 20:36:00 MSK 2010


On Wed, Dec 01, 2010 at 05:07:51PM +0000, António P. P. Almeida wrote:

> I'm wondering if I'm the only one having this experience.
> 
> I created my own .deb of 0.9.1 and installed on my dev machines and on
> Linode. Everything is working perfectly.
> 
> In both cases I'm running a fairly recent kernel >= 2.6.32.
> 
> Then I tried in machines running a 2.6.26 and there I had problems.
> When trying to access a site, one of the worker processes grabs 100%
> CPU utilization and the error file gets filed with:
> 
>     accept() failed (38: Function not implemented)

This is wrong message, it should be

      accept4() failed (38: Function not implemented)

It seems that 2.6.26 kernel does not support this syscall.
In next release I will make fallback to standard accept(), if it
accept4() is not implemented in kernel. This will allow to use
on old kernels packages built on modern kernels.

> It grows until exhausting the available disk space.
> 
> No pages are served whatsoever. I'm guessing that this is an issue
> with a syscall that is missing in those kernel versions, but present
> in the newer versions.
> 
> I reverted back to 0.8.53 in both machines.
> 
> Anyone else experienced this? Igor, Maxim or other nginx
> insiders. Does 0.9.1 makes use of a Linux syscall available only in
> recent kernels?
> 
> Thanks,
> --- appa
> 
> Here'a an ldd of the nginx binary.
> 
>         linux-gate.so.1 =>  (0xffffe000)
>         libcrypt.so.1 => /lib/libcrypt.so.1 (0x77869000)
>         libpcre.so.3 => /lib/libpcre.so.3 (0x77836000)
>         libssl.so.0.9.8 => /usr/lib/i686/cmov/libssl.so.0.9.8 (0x777eb000)
>         libcrypto.so.0.9.8 => /usr/lib/i686/cmov/libcrypto.so.0.9.8 (0x77693000)
>         libdl.so.2 => /lib/libdl.so.2 (0x7768f000)
>         libz.so.1 => /usr/lib/libz.so.1 (0x7767b000)
>         libGeoIP.so.1 => /usr/lib/libGeoIP.so.1 (0x77643000)
>         libc.so.6 => /lib/libc.so.6 (0x774fe000)
>         /lib/ld-linux.so.2 (0x778b4000)
> 
> And here's the dpkg -s:
> 
> Package: nginx
> Status: install ok installed
> Priority: optional
> Section: httpd
> Installed-Size: 668
> Maintainer: António Almeida <appa at perusio.net>
> Architecture: i386
> Version: 0.9.1-perusio.1.0
> Provides: httpd
> Depends: libc6 (>= 2.10), libgeoip1 (>= 1.4.7~beta6+dfsg), libpcre3 (>= 7.7), libssl0.9.8 (>= 0.9.8m-1), zlib1g (>= 1:1.1.4), lsb-base (>= 3.2-14)
> Conffiles:
>  /etc/nginx/sites-available/default 137b379dde77d0ac93cc84c9abf0d5b0
>  /etc/nginx/fastcgi_params 822165a5f2bed79b8e0fdac84b97066e
>  /etc/nginx/koi-utf 3e338aca6a53a5420fc791b5ef86f64c
>  /etc/nginx/koi-win bfa0b80381fed2b1dfcf617b0ba204ec
>  /etc/nginx/mime.types ab2c1c55348970968afec4b3414add77
>  /etc/nginx/nginx.conf 7bf139588b5ecd5956f986c9c1442d44
>  /etc/nginx/win-utf 3749ffe19bedd842eb87e83d544e5ce6
>  /etc/bash_completion.d/nginx-ensite 5ec3515949ba03272cfc48d46c25f94f
>  /etc/init.d/nginx 03f3eee584dd80647105e426bf100c5d
>  /etc/logrotate.d/nginx 607ba9e6ed50716bd899f984eb24c75c
> Description: small, but very powerful and efficient web server and mail proxy
>  Nginx (engine x) is a web server created by Igor Sysoev and kindly provided to
>  the open-source community. This server can be used as standalone HTTP server
>  and as a reverse proxy server before some Apache or another big server to
>  reduce load to backend servers by many concurrent HTTP-sessions.
>  .
>  It can also act as a POP3/IMAP mail proxy with SSL and TLS SNI support.
>  .
>  This is a custom version built with upload progress and without WebDAV, SSI, uwsgi and scgi support.
> Homepage: http://nginx.net
> 
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://nginx.org/mailman/listinfo/nginx

-- 
Igor Sysoev
http://sysoev.ru/en/



More information about the nginx mailing list