<div class="gmail_quote">On Thu, Apr 19, 2012 at 3:35 PM, Maxim Dounin <span dir="ltr"><<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im"><br>
</div>You mean nginx worker process crash, right?<br>
<div class="im"><br></div></blockquote><div><br></div><div>errors get logged into /var/log/nginx/error.log:</div><div>2012/04/19 15:34:41 [alert] 5712#0: worker process 9234 exited on signal 11</div><div>2012/04/19 15:34:48 [alert] 5712#0: worker process 9252 exited on signal 11</div>

<div>2012/04/19 15:34:57 [alert] 5712#0: worker process 9253 exited on signal 11</div><div>2012/04/19 15:35:06 [alert] 5712#0: worker process 9272 exited on signal 11</div><div>2012/04/19 15:36:11 [alert] 5712#0: worker process 9277 exited on signal 11</div>

<div><br></div><div>debian squeeze</div><div>nginx-full  1.1.19-1~bpo60+1  from squeeze-backports</div><div>php5-fpm 5.3.10-1~dotdeb.1 from dotdeb</div><div><br></div><div>The context: I'm experimenting with Piwik's new log analytics import script. It's a Python script that parses server logs and does POST requests to a Piwik instance.</div>

<div>I wouldn't say it's hammering much as it's able to post only around 10 log lines per second.</div><div><br></div><div>It's those POST requests that randomly cause the SIGSEGV errors that got logged into /var/log/nginx/error.log. After many worker process crashes, I eventually hit a connection limit I set with limit_conn (of 10 simultaneous connections per IP). I could disable limit_conn as a workaround until I find out the root cause of those crashes.</div>

<div><br></div><div>About the crashes themselves, I really don't know what's going on so far. PHP-FPM logs remain empty (or I wasn't able to enable them correctly). Piwik's wiki states it's impossible Piwik itself is the root cause for SIGSEGV; instead they say bugs in PHP itself, MySQL or accelerators like APC are to blame. (note I disabled APC without much luck).</div>

<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
</div>The limit_conn numbers are kept in a shared memory and will not be<br>
decremented on nginx worker process crash, leading to a limit<br>
hits eventually.  To clear the numbers you may do an online<br>
upgrade, see <a href="http://nginx.org/en/docs/control.html#upgrade" target="_blank">http://nginx.org/en/docs/control.html#upgrade</a>.<br>
<br>
Or, better, you may want to debug crashes, see here for basic<br>
instructions:<br>
<br>
<a href="http://wiki.nginx.org/Debugging" target="_blank">http://wiki.nginx.org/Debugging</a><br>
<br>
Note well that crashes might lead to much more severe<br>
consequences, e.g. if the crash happens during shared memory<br>
update it may be left in an inconsistent state, leading to<br>
unpredictable behaviour (usually more crashes).<br>
<br></blockquote><div> </div><div>I'll try to give it a go. thank you for the reply</div><div><br></div><div>Gregory</div></div>