<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>Re[4]: </title>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
body {
  margin: 5px 5px 5px 5px;
  background-color: #ffffff;
}
/* ========== Text Styles ========== */
hr { color: #000000}
body, table /* Normal text */
{
 font-size: 9pt;
 font-family: 'Courier New';
 font-style: normal;
 font-weight: normal;
 color: #000000;
 text-decoration: none;
}
span.rvts1 /* Heading */
{
 font-size: 10pt;
 font-family: 'Arial';
 font-weight: bold;
 color: #0000ff;
}
span.rvts2 /* Subheading */
{
 font-size: 10pt;
 font-family: 'Arial';
 font-weight: bold;
 color: #000080;
}
span.rvts3 /* Keywords */
{
 font-size: 10pt;
 font-family: 'Arial';
 font-style: italic;
 color: #800000;
}
a.rvts4, span.rvts4 /* Jump 1 */
{
 font-size: 10pt;
 font-family: 'Arial';
 color: #008000;
 text-decoration: underline;
}
a.rvts5, span.rvts5 /* Jump 2 */
{
 font-size: 10pt;
 font-family: 'Arial';
 color: #008000;
 text-decoration: underline;
}
a.rvts6, span.rvts6
{
 color: #0000ff;
 text-decoration: underline;
}
span.rvts7
{
 font-size: 8pt;
 font-family: 'segoe ui';
}
span.rvts8
{
 font-size: 8pt;
 font-family: 'segoe ui';
 background-color: #ffffff;
}
a.rvts9, span.rvts9
{
 font-size: 8pt;
 font-family: 'segoe ui';
 color: #0000ff;
 text-decoration: underline;
}
/* ========== Para Styles ========== */
p,ul,ol /* Paragraph Style */
{
 text-align: left;
 text-indent: 0px;
 padding: 0px 0px 0px 0px;
 margin: 0px 0px 0px 0px;
}
.rvps1 /* Centered */
{
 text-align: center;
}
--></style>
</head>
<body>

<p><span class=rvts7>&gt; Если из вашего модуля, то скорее всего ошибка именно там.</span></p>
<p><br></p>
<p>Показывает, что из моего модуля. Но ошибка, по которой произошло падение, подозрительно глубоко в ngx_slab_alloc_pages. Маловероятно, что мой модуль обнулил только кусочек структуры ngx_slab_page_t, а именно page-&gt;next = null.</p>
<p>Или я не прав?</p>
<p><br></p>
<p><br></p>
<p>#0 &nbsp;0x00000038d82304d7 in kill () from /lib64/libc.so.6</p>
<p>#1 &nbsp;0x000000000040ae1c in ngx_slab_alloc_pages (pool=0x2aaaada78000, pages=1) at src/core/ngx_slab.c:655</p>
<p>#2 &nbsp;0x000000000040b2f8 in ngx_slab_alloc_locked (pool=0x2aaaada78000, size=&lt;value optimized out&gt;) at src/core/ngx_slab.c:348</p>
<p>#3 &nbsp;0x000000000040bb8b in ngx_slab_alloc (pool=0x2aaaada78000, size=313) at src/core/ngx_slab.c:165</p>
<p>#4 &nbsp;0x000000000046ab6f in ngx_http_user_limit_handler (r=0x2c61b20) at</p>
<p>./src/http/modules/user_limit/ngx_http_user_limit_module.c:642</p>
<p>#5 &nbsp;0x00000000004223a3 in ngx_http_core_content_phase (r=0x2aaaada78000, ph=0x2acc928) at src/http/ngx_http_core_module.c:1016</p>
<p>#6 &nbsp;0x000000000041df53 in ngx_http_core_run_phases (r=0x2c61b20) at src/http/ngx_http_core_module.c:735</p>
<p>#7 &nbsp;0x000000000041e07d in ngx_http_handler (r=0x2aaaada78000) at src/http/ngx_http_core_module.c:718</p>
<p>#8 &nbsp;0x000000000042568b in ngx_http_process_request (r=0x2c61b20) at src/http/ngx_http_request.c:1473</p>
<p>#9 &nbsp;0x00000000004260d1 in ngx_http_process_request_headers (rev=&lt;value optimized out&gt;) at src/http/ngx_http_request.c:947</p>
<p>#10 &nbsp;0x00000000004264ee in ngx_http_process_request_line (rev=0x2aac8dc0a3d0) at src/http/ngx_http_request.c:755</p>
<p>#11 &nbsp;0x0000000000423d3b in ngx_http_init_request (rev=0x2aac8dc0a3d0) at src/http/ngx_http_request.c:451</p>
<p>#12 &nbsp;0x000000000041554e in ngx_event_process_posted (cycle=&lt;value optimized out&gt;, posted=0x1) at src/event/ngx_event_posted.c:39</p>
<p>#13 &nbsp;0x0000000000415410 in ngx_process_events_and_timers (cycle=0x2a96b70) at src/event/ngx_event.c:272</p>
<p>#14 &nbsp;0x000000000041a70b in ngx_worker_process_cycle (cycle=0x2a96b70, data=&lt;value optimized out&gt;)</p>
<p>&nbsp; &nbsp; at src/os/unix/ngx_process_cycle.c:767</p>
<p>#15 &nbsp;0x0000000000419237 in ngx_spawn_process (cycle=0x2a96b70, proc=0x41a107 &lt;ngx_worker_process_cycle&gt;, data=0x0,</p>
<p>&nbsp; &nbsp; name=0x47ac83 "worker process", respawn=-2) at src/os/unix/ngx_process.c:187</p>
<p>#16 &nbsp;0x0000000000419d4c in ngx_start_worker_processes (cycle=0x2a96b70, n=4, type=-2) at src/os/unix/ngx_process_cycle.c:332</p>
<p>#17 &nbsp;0x000000000041ab8b in ngx_master_process_cycle (cycle=0x2a96b70) at src/os/unix/ngx_process_cycle.c:124</p>
<p>#18 &nbsp;0x000000000040404d in main (argc=1, argv=0x7fff94b844b8) at src/core/nginx.c:355</p>
<p><br></p>
<p><br></p>
<p>Monday, January 12, 2009, 1:14:47 PM, you wrote:</p>
<div><table border=0 cellpadding=1 cellspacing=2 style="background-color: #ffffff;">
<tr valign=top>
<td width=1 style="background-color: #0000ff;"><br>
</td>
<td width=1108>
<p><span class=rvts7>А что показывает&nbsp;</span><span class=rvts8>backtrace?</span></p>
<p><span class=rvts7><br></span></p>
</td>
</tr>
</table>
</div>
<p><br></p>
<div><table border=0 cellpadding=1 cellspacing=2 style="background-color: #ffffff;">
<tr valign=top>
<td width=1 style="background-color: #0000ff;"><br>
</td>
<td width=1108>
<p><span class=rvts7>Если из вашего модуля, то скорее всего ошибка именно там.</span></p>
<p><br></p>
<p><br></p>
<p><span class=rvts7>12 января 2009 г. 15:00 пользователь Andrew&nbsp;&lt;</span><a class=rvts9 href="mailto:all@inbox.ru">all@inbox.ru</a><span class=rvts7>&gt;&nbsp;написал:</span></p>
<p><br></p>
<p><span class=rvts7>Да, используется&nbsp;limit_zone и еще свой модуль который тоже работает с shared.</span></p>
<p><br></p>
<p><br></p>
<p><span class=rvts7>Monday, January 12, 2009, 12:47:20 PM, you wrote:</span></p>
<div><table border=0 cellpadding=1 cellspacing=2 style="background-color: #ffffff;">
<tr valign=top>
<td width=9 style="background-color: #0000ff;"><br>
</td>
<td width=1077>
<p><span class=rvts7>А модуль limit_zone используется?</span></p>
<p><br></p>
<p><br></p>
<p><span class=rvts7>12 января 2009 г. 14:31 пользователь Andrew &lt;</span><a class=rvts9 href="mailto:all@inbox.ru">all@inbox.ru</a><span class=rvts7>&gt; написал:</span></p>
<p><br></p>
<p><span class=rvts7>Добрый день,</span></p>
<p><br></p>
<p><span class=rvts7>Сегодня натолкнулся на следующую ошибку, из-за которой nginx упал</span></p>
<p><span class=rvts7>Program terminated with signal 6, Aborted.</span></p>
<p><span class=rvts7>0x000000000040ae1c in ngx_slab_alloc_pages (pool=0x2aaaada78000, pages=1) at src/core/ngx_slab.c:655</span></p>
<p><br></p>
<p><span class=rvts7>На этой строке находится строчка кода:</span></p>
<p><span class=rvts7>page-&gt;next-&gt;prev = (uintptr_t) &amp;page[pages];</span></p>
<p><br></p>
<p><span class=rvts7>(gdb) p* page</span></p>
<p><span class=rvts7>$3 = {slab = 1095216660489, next = 0x0, prev = 46912546242592}</span></p>
<p><br></p>
<p><span class=rvts7>nginx version: nginx/0.6.29</span></p>
<p><br></p>
<p><span class=rvts7>Ошибка появилась за последние 4-5 месяцев первый раз, при этом нагрузка</span></p>
<p><span class=rvts7>достаточно высокая.</span></p>
<p><br></p>
<p><span class=rvts7>Вопрос - данная ошибка уже устранена в более поздних версия nginx ?</span></p>
<p><span class=rvts7>Так как мне не удается получить эту ошибку повторно, то я не могу</span></p>
<p><span class=rvts7>протестировать это самостоятельно.</span></p>
<p><br></p>
<p><span class=rvts7>С уважением, Андрей.</span></p>
<p><br></p>
<p><br></p>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>

</body></html>