memory corruption при большом GET
kotz
nginx-forum на nginx.us
Пн Июл 18 14:00:36 UTC 2011
Фронтенд и бекэнд на одном сервере:
nginx: nginx version: nginx/1.0.4
nginx: built by gcc 4.1.2 20080704 (Red Hat 4.1.2-50)
Linux host.net 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:14 EDT 2010 x86_64
x86_64 x86_64 GNU/Linux
Ситуация следующая, на вход фронтену
передается GET запрос размером около
10Кб,
в конфиге на фронтенде прописано:
large_client_header_buffers 8 32k;
запрос проходит, и передается на бекенд
- кеширующий nginx, тут также прописано
large_client_header_buffers 8 32k но он валиться. Лог
ниже.
Есть подозрение что это из-за размера GET
запроса, на кеше proxy_cache_key $request_uri !?
*** glibc detected *** nginx: worker process: malloc(): memory
corruption: 0x000000001dd5c3c0 ***
======= Backtrace: =========
/lib64/libc.so.6[0x377a6730fe]
/lib64/libc.so.6(__libc_malloc+0x6e)[0x377a674e2e]
nginx: worker process[0x41c3b6]
nginx: worker process[0x406d1c]
nginx: worker process[0x406e27]
nginx: worker process[0x408839]
nginx: worker process[0x41bbc4]
nginx: worker process[0x43c28e]
nginx: worker process[0x43e9f5]
nginx: worker process[0x43c3b2]
nginx: worker process[0x41a226]
nginx: worker process[0x41a0e9]
nginx: worker process[0x41fb60]
nginx: worker process[0x41e497]
nginx: worker process[0x41f203]
nginx: worker process[0x4206b1]
nginx: worker process[0x40603a]
/lib64/libc.so.6(__libc_start_main+0xf4)[0x377a61d994]
nginx: worker process[0x404809]
======= Memory map: ========
00400000-00473000 r-xp 00000000 08:02 429719556
/opt/nginx_cache/sbin/nginx
00673000-00681000 rw-p 00073000 08:02 429719556
/opt/nginx_cache/sbin/nginx
00681000-0068f000 rw-p 00681000 00:00 0
1dd14000-1de93000 rw-p 1dd14000 00:00 0
[heap]
377a200000-377a21c000 r-xp 00000000 08:02 112328915
/lib64/ld-2.5.so
377a41c000-377a41d000 r--p 0001c000 08:02 112328915
/lib64/ld-2.5.so
377a41d000-377a41e000 rw-p 0001d000 08:02 112328915
/lib64/ld-2.5.so
377a600000-377a74e000 r-xp 00000000 08:02 112329023
/lib64/libc-2.5.so
377a74e000-377a94e000 ---p 0014e000 08:02 112329023
/lib64/libc-2.5.so
377a94e000-377a952000 r--p 0014e000 08:02 112329023
/lib64/libc-2.5.so
377a952000-377a953000 rw-p 00152000 08:02 112329023
/lib64/libc-2.5.so
377a953000-377a958000 rw-p 377a953000 00:00 0
377aa00000-377aa1e000 r-xp 00000000 08:02 112328883
/lib64/libpcre.so.0.0.1
377aa1e000-377ac1e000 ---p 0001e000 08:02 112328883
/lib64/libpcre.so.0.0.1
377ac1e000-377ac1f000 rw-p 0001e000 08:02 112328883
/lib64/libpcre.so.0.0.1
377ae00000-377ae16000 r-xp 00000000 08:02 112329028
/lib64/libpthread-2.5.so
377ae16000-377b015000 ---p 00016000 08:02 112329028
/lib64/libpthread-2.5.so
377b015000-377b016000 r--p 00015000 08:02 112329028
/lib64/libpthread-2.5.so
377b016000-377b017000 rw-p 00016000 08:02 112329028
/lib64/libpthread-2.5.so
377b017000-377b01b000 rw-p 377b017000 00:00 0
377b600000-377b63b000 r-xp 00000000 08:02 112329032
/lib64/libsepol.so.1
377b63b000-377b83b000 ---p 0003b000 08:02 112329032
/lib64/libsepol.so.1
377b83b000-377b83c000 rw-p 0003b000 08:02 112329032
/lib64/libsepol.so.1
377b83c000-377b846000 rw-p 377b83c000 00:00 0
377ba00000-377ba15000 r-xp 00000000 08:02 112329033
/lib64/libselinux.so.1
377ba15000-377bc15000 ---p 00015000 08:02 112329033
/lib64/libselinux.so.1
377bc15000-377bc17000 rw-p 00015000 08:02 112329033
/lib64/libselinux.so.1
377bc17000-377bc18000 rw-p 377bc17000 00:00 0
377c200000-377c214000 r-xp 00000000 08:02 168667510
/usr/lib64/libz.so.1.2.3
377c214000-377c413000 ---p 00014000 08:02 168667510
/usr/lib64/libz.so.1.2.3
377c413000-377c414000 rw-p 00013000 08:02 168667510
/usr/lib64/libz.so.1.2.3
377c600000-377c609000 r-xp 00000000 08:02 112329034
/lib64/libcrypt-2.5.so
377c609000-377c808000 ---p 00009000 08:02 112329034
/lib64/libcrypt-2.5.so
377c808000-377c809000 r--p 00008000 08:02 112329034
/lib64/libcrypt-2.5.so
377c809000-377c80a000 rw-p 00009000 08:02 112329034
/lib64/libcrypt-2.5.so
377c80a000-377c838000 rw-p 377c80a000 00:00 0
377ce00000-377cf2d000 r-xp 00000000 08:02 112329036
/lib64/libcrypto.so.0.9.8e
377cf2d000-377d12c000 ---p 0012d000 08:02 112329036
/lib64/libcrypto.so.0.9.8e
377d12c000-377d14d000 rw-p 0012c000 08:02 112329036
/lib64/libcrypto.so.0.9.8e
377d14d000-377d151000 rw-p 377d14d000 00:00 0
377d200000-377d246000 r-xp 00000000 08:02 112329041
/lib64/libssl.so.0.9.8e
377d246000-377d446000 ---p 00046000 08:02 112329041
/lib64/libssl.so.0.9.8e
377d446000-377d44c000 rw-p 00046000 08:02 112329041
/lib64/libssl.so.0.9.8e
377da00000-377da0d000 r-xp 00000000 08:02 112328773
/lib64/libgcc_s-4.1.2-20080825.so.1
377da0d000-377dc0d000 ---p 0000d000 08:02 112328773
/lib64/libgcc_s-4.1.2-20080825.so.1
377dc0d000-377dc0e000 rw-p 0000d000 08:02 112328773
/lib64/libgcc_s-4.1.2-20080825.so.1
377ee00000-377ee2c000 r-xp 00000000 08:02 168668838
/usr/lib64/libgssapi_krb5.so.2.2
377ee2c000-377f02c000 ---p 0002c000 08:02 168668838
/usr/lib64/libgssapi_krb5.so.2.2
377f02c000-377f02e000 rw-p 0002c000 08:02 168668838
/usr/lib64/libgssapi_krb5.so.2.2
377f200000-377f211000 r-xp 00000000 08:02 112329004
/lib64/libresolv-2.5.so
377f211000-377f411000 ---p 00011000 08:02 112329004
/lib64/libresolv-2.5.so
377f411000-377f412000 r--p 00011000 08:02 112329004
/lib64/libresolv-2.5.so
377f412000-377f413000 rw-p 00012000 08:02 112329004
/lib64/libresolv-2.5.so
377f413000-377f415000 rw-p 377f413000 00:00 0
377f600000-377f602000 r-xp 00000000 08:02 112329038
/lib64/libcom_err.so.2.1
377f602000-377f801000 ---p 00002000 08:02 112329038
/lib64/libcom_err.so.2.1
377f801000-377f802000 rw-p 00001000 08:02 112329038
/lib64/libcom_err.so.2.1
377fa00000-377fa02000 r-xp 00000000 08:02 112328887
/lib64/libkeyutils-1.2.so
377fa02000-377fc01000 ---p 00002000 08:02 112328887
/lib64/libkeyutils-1.2.so
377fc01000-377fc02000 rw-p 00001000 08:02 112328887
/lib64/libkeyutils-1.2.so
3780200000-3780208000 r-xp 00000000 08:02 168666634
/usr/lib64/libkrb5support.so.0.1
3780208000-3780407000 ---p 00008000 08:02 168666634
/usr/lib64/libkrb5support.so.0.1
3780407000-3780408000 rw-p 00007000 08:02 168666634
/usr/lib64/libkrb5support.so.0.1
3780600000-3780692000 r-xp 00000000 08:02 168668828
/usr/lib64/libkrb5.so.3.3
3780692000-3780891000 ---p 00092000 08:02 168668828
/usr/lib64/libkrb5.so.3.3
3780891000-3780895000 rw-p 00091000 08:02 168668828
/usr/lib64/libkrb5.so.3.3
3780a00000-3780a24000 r-xp 00000000 08:02 168668840
/usr/lib64/libk5crypto.so.3.1
3780a24000-3780c23000 ---p 00024000 08:02 168668840
/usr/lib64/libk5crypto.so.3.1
3780c23000-3780c25000 rw-p 00023000 08:02 168668840
/usr/lib64/libk5crypto.so.3.1
2b6a5a92a000-2b6a5a92b000 rw-p 2b6a5a92a000 00:00 0
2b6a5a936000-2b6a5a938000 rw-p 2b6a5a936000 00:00 0
2b6a5a938000-2b6a5a93a000 r-xp 00000000 08:02 112329024
/lib64/libdl-2.5.so
2b6a5a93a000-2b6a5ab3a000 ---p 00002000 08:02 112329024
/lib64/libdl-2.5.so
2b6a5ab3a000-2b6a5ab3b000 r--p 00002000 08:02 112329024
/lib64/libdl-2.5.so
2b6a5ab3b000-2b6a5ab3c000 rw-p 00003000 08:02 112329024
/lib64/libdl-2.5.so
2b6a5ab3c000-2b6a5ab42000 rw-p 2b6a5ab3c000 00:00 0
2b6a5ab42000-2b6a5ab4c000 r-xp 00000000 08:02 112328728
/lib64/libnss_files-2.5.so
2b6a5ab4c000-2b6a5ad4b000 ---p 0000a000 08:02 112328728
/lib64/libnss_files-2.5.so
2b6a5ad4b000-2b6a5ad4c000 r--p 00009000 08:02 112328728
/lib64/libnss_files-2.5.so
2b6a5ad4c000-2b6a5ad4d000 rw-p 0000a000 08:02 112328728
/lib64/libnss_files-2.5.so
2b6a5ad4d000-2b6a7a14d000 rw-s 00000000 00:09 246155
/dev/zero (deleted)
2b6a7a14d000-2b6a9954d000 rw-s 00000000 00:09 246156
/dev/zero (deleted)
2b6a9954d000-2b6a9954e000 rw-s 00000000 00:09 246158
/dev/zero (deleted)
2b6a9c000000-2b6a9c021000 rw-p 2b6a9c000000 00:00 0
2b6a9c021000-2b6aa0000000 ---p 2b6a9c021000 00:00 0
7fff1f2ea000-7fff1f2ff000 rw-p 7ffffffea000 00:00 0
[stack]
ffffffffff600000-ffffffffffe00000 ---p 00000000 00:00 0
[vdso]
2011/07/18 16:31:23 [alert] 31006#0: worker process 10811 exited on
signal 6
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212534,212534#msg-212534
Подробная информация о списке рассылки nginx-ru