Problems with 0.9.1 on not so recent Linux kernels.
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?
> --- 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)
> /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
More information about the nginx