Несколько месяцев назад задавал в этой рассылке вопрос про aio и утечку сокетов.<div><div>Maxim Dounin подсказал копать в сторону gdb и содержания внутренних структур nginx (<a href="http://forum.nginx.org/read.php?21,171856,173232#msg-173232">http://forum.nginx.org/read.php?21,171856,173232#msg-173232</a>)</div>

<div>В другом обсуждении с участием Игоря нашел как выдрать из coredump&#39;ов нужные структуры (<a href="http://forum.nginx.org/read.php?21,16913,17565#msg-17565">http://forum.nginx.org/read.php?21,16913,17565#msg-17565</a>)</div>

<div><br></div><div>Собственно на рестарте появилось куча &quot;корок&quot; и жалоб в глобальном error.log на &quot;open socket #N left in connection M&quot;</div><div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif">Запускаем gdb и смотрим что внутри</font></div>

<div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br></font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">(gdb) qq 34</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">$18 = {len = 43, data = 0x801d2fb5c &quot;/bla/bla/archive1.zip&quot;}</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">$19 = {len = 46, data = 0x8099ac400 &quot;GET /a52babab9bb8355b156358f434627bb0 HTTP/1.1\r\nAccept&quot;}</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">discard_body    0</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">lingering_close 0</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">lingering_time  0</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">keepalive       1</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">$20 = 0x46d7a7 &lt;ngx_http_upstream_rd_check_broken_connection&gt;</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">$21 = 0x470f3b &lt;ngx_http_upstream_process_downstream&gt;</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">$22 = 0x4b79fa &quot;reading upstream&quot;</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">status  200</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">count   1</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">blocked 0</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">sent    33580</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">length  -1</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">Cannot access memory at address 0x0</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">(gdb) qq 35</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">$23 = {len = 26, data = 0x801d33c64 &quot;/bla/bla/archive2.zip&quot;}</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">$24 = {len = 46, data = 0x801852400 &quot;GET /1d5859a513539b9b412d534212728832 HTTP/1.1\r\nUser-Agent&quot;}</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">discard_body    0</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">lingering_close 0</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">lingering_time  0</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">keepalive       1</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">$25 = 0x459b5b &lt;ngx_http_test_reading&gt;</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">$26 = 0x4596ac &lt;ngx_http_writer&gt;</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">$27 = 0x0</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">status  206</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">count   1</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">blocked 0</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">sent    242367</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">length  -1</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">Cannot access memory at address 0x0</font></div><div><br></div></div><div><div><div class="h5">Смена версии ОС с 8.0 на 8.1/8.2, как собссно и обновление nginx с 0.8.x до 1.0.x не дает результата</div>

</div><div class="h5">За сутки количество writing соединений зашкаливает на 20-30тыс, хотя сутя по netstat таковых не более тысячи</div><div class="h5"><br></div><div class="h5">Подскажите пожалуйста, куда дальше копать и что смотреть? </div>

<div class="h5"><br></div>PS: про ОС и версию nginx</div><div><br></div><div><div># uname -a</div><div>FreeBSD <a href="http://server.domain.org">server.domain.org</a> 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Thu Feb 17 02:41:51 UTC 2011     root@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64</div>

<div><br></div><div># nginx -V</div><div>nginx: nginx version: nginx/1.0.4</div><div>nginx: TLS SNI support enabled</div><div>nginx: configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt=&#39;-I /usr/local/include&#39; --with-ld-opt=&#39;-L /usr/local/lib&#39; --conf-path=/usr/local/etc/nginx/nginx.conf --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid --error-log-path=/var/log/nginx-error.log --user=www --group=www --with-debug --with-file-aio --http-client-body-temp-path=/var/tmp/nginx/client_body_temp --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp --http-proxy-temp-path=/var/tmp/nginx/proxy_temp --http-scgi-temp-path=/var/tmp/nginx/scgi_temp --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp --http-log-path=/var/log/nginx-access.log --with-http_geoip_module --with-http_gzip_static_module --with-http_perl_module --with-http_realip_module --with-http_ssl_module --with-http_stub_status_module --with-pcre</div>

<div><br></div>-- <br>С Уважением,<br>Костенко Евгений<br><br>моб: +7(928)2961142<br>icq: 101241013<br>jabber: <a href="mailto:nobody.mail@gmail.com" target="_blank">nobody.mail@gmail.com</a><br>skype: <a href="http://nobody.ru" target="_blank">nobody.ru</a><br>

<br>
</div></div>