Kernel: trap divide error

Hello,

I use NginX 0.6.32-1 (the Debian sid package, recompiled for Debian
Etch) in a 64bit environnement (about 25M hits per day, per server).
NginX is used to serve static contents, and send other queries to an
Apache server.

I have a lot of errors like this in my logs :
Aug 24 01:48:13 fa20 kernel: nginx[10825] trap divide error ip:43bce1
sp:7fff4cd38160 error:0 in nginx[400000+6c000]
Aug 24 01:48:18 fa20 kernel: nginx[10826] trap divide error ip:43bce1
sp:7fff4cd38160 error:0 in nginx[400000+6c000]
Aug 24 01:48:48 fa20 kernel: nginx[11046] trap divide error ip:43bce1
sp:7fff4cd38160 error:0 in nginx[400000+6c000]
Aug 24 01:49:01 fa20 kernel: nginx[11093] trap divide error ip:43bce1
sp:7fff4cd38160 error:0 in nginx[400000+6c000]

So I would like to know if it is a “kernel problem”, an NginX problem,
or simply a problem in my NginX configuration.

From logs, errors started when I modify upstream configuration. For now
I use this :
upstream clusterweb {
server 127.0.0.1:81 weight=4 max_fails=0 fail_timeout=10s;
server 127.0.0.2:82 backup;
}
upstream clusterwebtest {
server 127.0.0.1:81 max_fails=0 fail_timeout=10s;
server X.X.X.X:81 max_fails=100 fail_timeout=10s;
server 127.0.0.2:82 backup;
}

The “clusterwebtest” upstream is used only for test, there is no trafic
at all on it.

Thanks in advance for your help.
Olivier B.valet

Hello!

On Sun, Aug 24, 2008 at 01:03:03PM +0200, Olivier B.valet wrote:

Aug 24 01:48:18 fa20 kernel: nginx[10826] trap divide error ip:43bce1
I use this :
upstream clusterweb {
server 127.0.0.1:81 weight=4 max_fails=0 fail_timeout=10s;
server 127.0.0.2:82 backup;
}
upstream clusterwebtest {
server 127.0.0.1:81 max_fails=0 fail_timeout=10s;

The max_fails=0 known to be broken in 0.6.* (and 0.7.*) since
0.6.6. I’ve sent a patch to Igor some time ago, but it looks like
he forgot it.

Don’t use max_fails=0 or try the attached patch.

Maxim D.

On Sun, Aug 24, 2008 at 01:03:03PM +0200, Olivier B.valet wrote:

Aug 24 01:48:48 fa20 kernel: nginx[11046] trap divide error ip:43bce1
server 127.0.0.1:81 weight=4 max_fails=0 fail_timeout=10s;
server 127.0.0.2:82 backup;
}
upstream clusterwebtest {
server 127.0.0.1:81 max_fails=0 fail_timeout=10s;
server X.X.X.X:81 max_fails=100 fail_timeout=10s;
server 127.0.0.2:82 backup;
}

The “clusterwebtest” upstream is used only for test, there is no trafic
at all on it.

This is nginx bug, use Maxim’ patch.

Thanks a lot, it works. :wink:

Olivier B.valet

Maxim D. a écrit :