Package: nginx Version: 1.4.6-1~bpo70+1 Severity: important Tags: upstream Dear Maintainer,
We are using nginx-extras (wheezy, {squeeze,wheezy}-backports) and have noticed that on reload there are unix socket FD leaks (in our environment we reload regularly). By recompiling and pruning out the modules used, I was able to drill the problem down the the nginx-http-push module; not a surprise as it is the only one that calls socketpair(AF_UNIX). First thing I did was drop in the latest version (0.712, Debian has 0.692) and recompile, unfortunately it did not fix anything. To reproduce the problem, all you have to do is install nginx-extras and reload: ---- # lsof -n -p $(pgrep -P1 nginx) | grep socket nginx 1538 root 3u unix 0xffff88101ddc5080 0t0 2297044 socket nginx 1538 root 7u unix 0xffff88201b7e7440 0t0 2296101 socket nginx 1538 root 8u unix 0xffff88201b7e77c0 0t0 2296102 socket nginx 1538 root 9u unix 0xffff88201b7e70c0 0t0 2296103 socket nginx 1538 root 10u unix 0xffff88201671fc00 0t0 2296104 socket nginx 1538 root 11u unix 0xffff88201671f880 0t0 2296105 socket nginx 1538 root 12u unix 0xffff88201671f500 0t0 2296106 socket nginx 1538 root 13u unix 0xffff88201671f180 0t0 2296107 socket nginx 1538 root 14u unix 0xffff8820159c5c40 0t0 2296108 socket nginx 1538 root 15u unix 0xffff88101ddc5780 0t0 2297045 socket nginx 1538 root 16u unix 0xffff88101d1cc080 0t0 2297046 socket nginx 1538 root 17u unix 0xffff88101d1ccb00 0t0 2297047 socket nginx 1538 root 18u unix 0xffff88101d1cc400 0t0 2297048 socket nginx 1538 root 19u unix 0xffff8810150b40c0 0t0 2297049 socket nginx 1538 root 20u unix 0xffff881015fd0c00 0t0 2297050 socket nginx 1538 root 21u unix 0xffff881015fd0880 0t0 2297051 socket # /etc/init.d/nginx reload # lsof -n -p $(pgrep -P1 nginx) | grep socket nginx 1538 root 4u unix 0xffff88101e7fa3c0 0t0 2297070 socket nginx 1538 root 5u unix 0xffff88101e7fa040 0t0 2297071 socket nginx 1538 root 7u unix 0xffff88201b7e7440 0t0 2296101 socket nginx 1538 root 8u unix 0xffff88201b7e77c0 0t0 2296102 socket nginx 1538 root 9u unix 0xffff88201b7e70c0 0t0 2296103 socket nginx 1538 root 10u unix 0xffff88201671fc00 0t0 2296104 socket nginx 1538 root 11u unix 0xffff88201671f880 0t0 2296105 socket nginx 1538 root 12u unix 0xffff88201671f500 0t0 2296106 socket nginx 1538 root 13u unix 0xffff88201671f180 0t0 2296107 socket nginx 1538 root 14u unix 0xffff8820159c5c40 0t0 2296108 socket nginx 1538 root 24u unix 0xffff881015fd0500 0t0 2297062 socket nginx 1538 root 25u unix 0xffff881015fd0180 0t0 2297063 socket nginx 1538 root 26u unix 0xffff88101f849c40 0t0 2297064 socket nginx 1538 root 27u unix 0xffff88101f8498c0 0t0 2297065 socket nginx 1538 root 28u unix 0xffff88101f849540 0t0 2297066 socket nginx 1538 root 29u unix 0xffff88101f8491c0 0t0 2297067 socket nginx 1538 root 30u unix 0xffff88101e7faac0 0t0 2297068 socket nginx 1538 root 31u unix 0xffff88101e7fa740 0t0 2297069 socket nginx 1538 root 32u unix 0xffff88101d3dbb00 0t0 2297072 socket nginx 1538 root 33u unix 0xffff88101d3db780 0t0 2297073 socket nginx 1538 root 34u unix 0xffff88101d3db400 0t0 2297074 socket nginx 1538 root 35u unix 0xffff88101d3db080 0t0 2297075 socket nginx 1538 root 36u unix 0xffff8810189efb40 0t0 2297076 socket nginx 1538 root 37u unix 0xffff8810189ef7c0 0t0 2297077 socket # for I in $(seq 1 20); do /etc/init.d/nginx reload; done # lsof -n -p $(pgrep -P1 nginx) | grep socket | wc -l 104 # for I in $(seq 1 100); do /etc/init.d/nginx reload; done # lsof -n -p $(pgrep -P1 nginx) | grep socket | wc -l 456 ---- You should notice that the number of open unix sockets increases; these unix sockets are what the master process uses to speak to its workers. Marking this important as the last thing you want to do is run out of FD's :) I tried digging around to fix it myself but came up empty handed, sorry. Cheers -- System Information: Debian Release: 7.4 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.13-0.bpo.1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org