wandenberg / nginx-push-stream-module

A pure stream http push technology for your Nginx setup. Comet made easy and really scalable.
Other
2.22k stars 295 forks source link

Workers crashing with URL size > 512b #23

Closed pgrishin closed 12 years ago

pgrishin commented 12 years ago

This URL crashing nginx

/lp/u69/i2750/i2750u69/i2728/i2728u69/i2651/i2651u69/i2720/i2720u69/i2745/i2745u69/i2656/i2656u69/i2546/i2546u69/i2543/i2543u69/i2730/i2730u69/i2711/i2711u69/i2723/i2723u69/i2024/i2024u69/i1729/i1729u69/i2305/i2305u69/i2449/i2449u69/i2429/i2429u69/i2515/i2515u69/i2141/i2141u69/i2594/i2594u69/i2678/i2678u69/i2664/i2664u69/i2703/i2703u69/i2722/i2722u69/i2708/i2708u69/i2702/i2702u69/i2625/i2625u69/i2632/i2632u69/i2695/i2695u69/i2704/i2704u69/i1788/i1788u69/i2659/i2659u69/i2672/i2672u69/i2646/i2646u69/i2595/i2595u69/i2699/i2699u69/i2689/i2689u69/i2584/i2584u69/i2693/i2693u69/i2618/i2618u69/i2535/i2535u69/i2448/i2448u69/i2557/i2557u69/i2600/i2600u69/i2666/i2666u69/i2665/i2665u69/i2503/i2503u69/i2652/i2652u69/i2283/i2283u69/i2623/i2623u69/i2542/i2542u69/vi2632u69?=1334106472591

$ ./configure --prefix=/usr/local/nginx-1.0.14/ --with-http_realip_module --with-http_stub_status_module --add-module=/root/nginx_src/wandenberg-nginx-push-stream-module-cd26471/

$ ./nginx -v nginx version: nginx/1.0.14

2012/04/11 05:04:24 [notice] 20552#0: signal 17 (SIGCHLD) received 2012/04/11 05:04:24 [alert] 20552#0: worker process 20625 exited on signal 6 2012/04/11 05:04:24 [notice] 20552#0: start worker process 20626 2012/04/11 05:04:24 [notice] 20552#0: signal 29 (SIGIO) received * glibc detected * nginx: worker process: double free or corruption (!prev): 0x000000000feb8c00 *** ======= Backtrace: ========= /lib64/libc.so.6[0x37f527245f] /lib64/libc.so.6(cfree+0x4b)[0x37f52728bb] nginx: worker process[0x404ff8] nginx: worker process[0x464903] nginx: worker process[0x427371] nginx: worker process[0x422823] nginx: worker process[0x422920] nginx: worker process[0x42b774] nginx: worker process[0x42bf90] nginx: worker process[0x42c492] nginx: worker process[0x429c20] nginx: worker process[0x418726] nginx: worker process[0x4185eb] nginx: worker process[0x41e0a0] nginx: worker process[0x41c9b7] nginx: worker process[0x41e889] nginx: worker process[0x40444d] /lib64/libc.so.6(__libc_start_main+0xf4)[0x37f521d994] nginx: worker process[0x402c39] ======= Memory map: ======== 00400000-00480000 r-xp 00000000 fd:00 197255 /usr/local/nginx-1.0.14/sbin/nginx 00680000-00690000 rw-p 00080000 fd:00 197255 /usr/local/nginx-1.0.14/sbin/nginx 00690000-006a0000 rw-p 00690000 00:00 0 0fdbb000-0ff5b000 rw-p 0fdbb000 00:00 0 [heap] 3511600000-351172d000 r-xp 00000000 fd:00 360484 /lib64/libcrypto.so.0.9.8e 351172d000-351192c000 ---p 0012d000 fd:00 360484 /lib64/libcrypto.so.0.9.8e 351192c000-351194d000 rw-p 0012c000 fd:00 360484 /lib64/libcrypto.so.0.9.8e 351194d000-3511951000 rw-p 351194d000 00:00 0 37f4e00000-37f4e1c000 r-xp 00000000 fd:00 363467 /lib64/ld-2.5.so 37f501c000-37f501d000 r--p 0001c000 fd:00 363467 /lib64/ld-2.5.so 37f501d000-37f501e000 rw-p 0001d000 fd:00 363467 /lib64/ld-2.5.so 37f5200000-37f534e000 r-xp 00000000 fd:00 363468 /lib64/libc-2.5.so 37f534e000-37f554e000 ---p 0014e000 fd:00 363468 /lib64/libc-2.5.so 37f554e000-37f5552000 r--p 0014e000 fd:00 363468 /lib64/libc-2.5.so 37f5552000-37f5553000 rw-p 00152000 fd:00 363468 /lib64/libc-2.5.so 37f5553000-37f5558000 rw-p 37f5553000 00:00 0 37f5600000-37f561e000 r-xp 00000000 fd:00 360585 /lib64/libpcre.so.0.0.1 37f561e000-37f581e000 ---p 0001e000 fd:00 360585 /lib64/libpcre.so.0.0.1 37f581e000-37f581f000 rw-p 0001e000 fd:00 360585 /lib64/libpcre.so.0.0.1 37f6200000-37f6216000 r-xp 00000000 fd:00 363475 /lib64/libpthread-2.5.so 37f6216000-37f6415000 ---p 00016000 fd:00 363475 /lib64/libpthread-2.5.so 37f6415000-37f6416000 r--p 00015000 fd:00 363475 /lib64/libpthread-2.5.so 37f6416000-37f6417000 rw-p 00016000 fd:00 363475 /lib64/libpthread-2.5.so 37f6417000-37f641b000 rw-p 37f6417000 00:00 0 37f6a00000-37f6a14000 r-xp 00000000 fd:00 145652 /usr/lib64/libz.so.1.2.3 37f6a14000-37f6c13000 ---p 00014000 fd:00 145652 /usr/lib64/libz.so.1.2.3 37f6c13000-37f6c14000 rw-p 00013000 fd:00 145652 /usr/lib64/libz.so.1.2.3 37f7200000-37f720d000 r-xp 00000000 fd:00 3309600 /lib64/libgcc_s-4.1.2-20080825.so.1 37f720d000-37f740d000 ---p 0000d000 fd:00 3309600 /lib64/libgcc_s-4.1.2-20080825.so.1 37f740d000-37f740e000 rw-p 0000d000 fd:00 3309600 /lib64/libgcc_s-4.1.2-20080825.so.1 37f7e00000-37f7e09000 r-xp 00000000 fd:00 363473 /lib64/libcrypt-2.5.so 37f7e09000-37f8008000 ---p 00009000 fd:00 363473 /lib64/libcrypt-2.5.so 37f8008000-37f8009000 r--p 00008000 fd:00 363473 /lib64/libcrypt-2.5.so 37f8009000-37f800a000 rw-p 00009000 fd:00 363473 /lib64/libcrypt-2.5.so 37f800a000-37f8038000 rw-p 37f800a000 00:00 0 2b8062856000-2b8062857000 rw-p 2b8062856000 00:00 0 2b806285f000-2b8062862000 rw-p 2b806285f000 00:00 0 2b8062862000-2b8062864000 r-xp 00000000 fd:00 363472 /lib64/libdl-2.5.so 2b8062864000-2b8062a64000 ---p 00002000 fd:00 363472 /lib64/libdl-2.5.so 2b8062a64000-2b8062a65000 r--p 00002000 fd:00 363472 /lib64/libdl-2.5.so 2b8062a65000-2b8062a66000 rw-p 00003000 fd:00 363472 /lib64/libdl-2.5.so 2b8062a66000-2b8062a67000 rw-p 2b8062a66000 00:00 0 2b8062a67000-2b8062a71000 r-xp 00000000 fd:00 360476 /lib64/libnss_files-2.5.so 2b8062a71000-2b8062c70000 ---p 0000a000 fd:00 360476 /lib64/libnss_files-2.5.so 2b8062c70000-2b8062c71000 r--p 00009000 fd:00 360476 /lib64/libnss_files-2.5.so 2b8062c71000-2b8062c72000 rw-p 0000a000 fd:00 360476 /lib64/libnss_files-2.5.so 2b8062c72000-2b806ac72000 rw-s 00000000 00:09 26342840 (deleted) /dev/zero 2b806ac72000-2b806ac73000 rw-s 00000000 00:09 26342844 (deleted) /dev/zero 2b806ac73000-2b806b04a000 rw-p 2b806ac73000 00:00 0 7fffe8cbd000-7fffe8cd2000 rw-p 7ffffffe9000 00:00 0 [stack] ffffffffff600000-ffffffffffe00000 ---p 00000000 00:00 0 [vdso] 2012/04/11 05:04:27 [notice] 20552#0: signal 17 (SIGCHLD) received 2012/04/11 05:04:27 [alert] 20552#0: worker process 20624 exited on signal 6 2012/04/11 05:04:27 [notice] 20552#0: start worker process 20627 2012/04/11 05:04:27 [notice] 20552#0: signal 29 (SIGIO) received 2012/04/11 05:04:30 [notice] 20552#0: signal 17 (SIGCHLD) received 2012/04/11 05:04:30 [alert] 20552#0: worker process 20626 exited on signal 11 2012/04/11 05:04:30 [notice] 20552#0: start worker process 20628 2012/04/11 05:04:30 [notice] 20552#0: signal 29 (SIGIO) received

wandenberg commented 12 years ago

Hi,

thanks for the feedback. Please get the last updates and check if it solve the problem. On my environment it fixed the problem.

Regards, Wandenberg

On Tue, Apr 10, 2012 at 10:17 PM, pgrishin < reply@reply.github.com

wrote:

This URL crashing nginx

/lp/u69/i2750/i2750u69/i2728/i2728u69/i2651/i2651u69/i2720/i2720u69/i2745/i2745u69/i2656/i2656u69/i2546/i2546u69/i2543/i2543u69/i2730/i2730u69/i2711/i2711u69/i2723/i2723u69/i2024/i2024u69/i1729/i1729u69/i2305/i2305u69/i2449/i2449u69/i2429/i2429u69/i2515/i2515u69/i2141/i2141u69/i2594/i2594u69/i2678/i2678u69/i2664/i2664u69/i2703/i2703u69/i2722/i2722u69/i2708/i2708u69/i2702/i2702u69/i2625/i2625u69/i2632/i2632u69/i2695/i2695u69/i2704/i2704u69/i1788/i1788u69/i2659/i2659u69/i2672/i2672u69/i2646/i2646u69/i2595/i2595u69/i2699/i2699u69/i2689/i2689u69/i2584/i2584u69/i2693/i2693u69/i2618/i2618u69/i2535/i2535u69/i2448/i2448u69/i2557/i2557u69/i2600/i2600u69/i2666/i2666u69/i2665/i2665u69/i2503/i2503u69/i2652/i2652u69/i2283/i2283u69/i2623/i2623u69/i2542/i2542u69/vi2632u69?=1334106472591

./configure --prefix=/usr/local/nginx-1.0.14/ --with-http_realip_module

--with-http_stub_status_module --add-module=/root/nginx_src/wandenberg-nginx-push-stream-module-cd26471/

./nginx -v

nginx version: nginx/1.0.14

2012/04/11 05:04:24 [notice] 20552#0: signal 17 (SIGCHLD) received 2012/04/11 05:04:24 [alert] 20552#0: worker process 20625 exited on signal 6 2012/04/11 05:04:24 [notice] 20552#0: start worker process 20626 2012/04/11 05:04:24 [notice] 20552#0: signal 29 (SIGIO) received * glibc detected * nginx: worker process: double free or corruption (!prev): 0x000000000feb8c00 *** ======= Backtrace: ========= /lib64/libc.so.6[0x37f527245f] /lib64/libc.so.6(cfree+0x4b)[0x37f52728bb] nginx: worker process[0x404ff8] nginx: worker process[0x464903] nginx: worker process[0x427371] nginx: worker process[0x422823] nginx: worker process[0x422920] nginx: worker process[0x42b774] nginx: worker process[0x42bf90] nginx: worker process[0x42c492] nginx: worker process[0x429c20] nginx: worker process[0x418726] nginx: worker process[0x4185eb] nginx: worker process[0x41e0a0] nginx: worker process[0x41c9b7] nginx: worker process[0x41e889] nginx: worker process[0x40444d] /lib64/libc.so.6(__libc_start_main+0xf4)[0x37f521d994] nginx: worker process[0x402c39] ======= Memory map: ======== 00400000-00480000 r-xp 00000000 fd:00 197255 /usr/local/nginx-1.0.14/sbin/nginx 00680000-00690000 rw-p 00080000 fd:00 197255 /usr/local/nginx-1.0.14/sbin/nginx 00690000-006a0000 rw-p 00690000 00:00 0 0fdbb000-0ff5b000 rw-p 0fdbb000 00:00 0 [heap] 3511600000-351172d000 r-xp 00000000 fd:00 360484 /lib64/libcrypto.so.0.9.8e 351172d000-351192c000 ---p 0012d000 fd:00 360484 /lib64/libcrypto.so.0.9.8e 351192c000-351194d000 rw-p 0012c000 fd:00 360484 /lib64/libcrypto.so.0.9.8e 351194d000-3511951000 rw-p 351194d000 00:00 0 37f4e00000-37f4e1c000 r-xp 00000000 fd:00 363467 /lib64/ld-2.5.so 37f501c000-37f501d000 r--p 0001c000 fd:00 363467 /lib64/ld-2.5.so 37f501d000-37f501e000 rw-p 0001d000 fd:00 363467 /lib64/ld-2.5.so 37f5200000-37f534e000 r-xp 00000000 fd:00 363468 /lib64/libc-2.5.so 37f534e000-37f554e000 ---p 0014e000 fd:00 363468 /lib64/libc-2.5.so 37f554e000-37f5552000 r--p 0014e000 fd:00 363468 /lib64/libc-2.5.so 37f5552000-37f5553000 rw-p 00152000 fd:00 363468 /lib64/libc-2.5.so 37f5553000-37f5558000 rw-p 37f5553000 00:00 0 37f5600000-37f561e000 r-xp 00000000 fd:00 360585 /lib64/libpcre.so.0.0.1 37f561e000-37f581e000 ---p 0001e000 fd:00 360585 /lib64/libpcre.so.0.0.1 37f581e000-37f581f000 rw-p 0001e000 fd:00 360585 /lib64/libpcre.so.0.0.1 37f6200000-37f6216000 r-xp 00000000 fd:00 363475 /lib64/libpthread-2.5.so 37f6216000-37f6415000 ---p 00016000 fd:00 363475 /lib64/libpthread-2.5.so 37f6415000-37f6416000 r--p 00015000 fd:00 363475 /lib64/libpthread-2.5.so 37f6416000-37f6417000 rw-p 00016000 fd:00 363475 /lib64/libpthread-2.5.so 37f6417000-37f641b000 rw-p 37f6417000 00:00 0 37f6a00000-37f6a14000 r-xp 00000000 fd:00 145652 /usr/lib64/libz.so.1.2.3 37f6a14000-37f6c13000 ---p 00014000 fd:00 145652 /usr/lib64/libz.so.1.2.3 37f6c13000-37f6c14000 rw-p 00013000 fd:00 145652 /usr/lib64/libz.so.1.2.3 37f7200000-37f720d000 r-xp 00000000 fd:00 3309600 /lib64/libgcc_s-4.1.2-20080825.so.1 37f720d000-37f740d000 ---p 0000d000 fd:00 3309600 /lib64/libgcc_s-4.1.2-20080825.so.1 37f740d000-37f740e000 rw-p 0000d000 fd:00 3309600 /lib64/libgcc_s-4.1.2-20080825.so.1 37f7e00000-37f7e09000 r-xp 00000000 fd:00 363473 /lib64/libcrypt-2.5.so 37f7e09000-37f8008000 ---p 00009000 fd:00 363473 /lib64/libcrypt-2.5.so 37f8008000-37f8009000 r--p 00008000 fd:00 363473 /lib64/libcrypt-2.5.so 37f8009000-37f800a000 rw-p 00009000 fd:00 363473 /lib64/libcrypt-2.5.so 37f800a000-37f8038000 rw-p 37f800a000 00:00 0 2b8062856000-2b8062857000 rw-p 2b8062856000 00:00 0 2b806285f000-2b8062862000 rw-p 2b806285f000 00:00 0 2b8062862000-2b8062864000 r-xp 00000000 fd:00 363472 /lib64/libdl-2.5.so 2b8062864000-2b8062a64000 ---p 00002000 fd:00 363472 /lib64/libdl-2.5.so 2b8062a64000-2b8062a65000 r--p 00002000 fd:00 363472 /lib64/libdl-2.5.so 2b8062a65000-2b8062a66000 rw-p 00003000 fd:00 363472 /lib64/libdl-2.5.so 2b8062a66000-2b8062a67000 rw-p 2b8062a66000 00:00 0 2b8062a67000-2b8062a71000 r-xp 00000000 fd:00 360476 /lib64/libnss_files-2.5.so 2b8062a71000-2b8062c70000 ---p 0000a000 fd:00 360476 /lib64/libnss_files-2.5.so 2b8062c70000-2b8062c71000 r--p 00009000 fd:00 360476 /lib64/libnss_files-2.5.so 2b8062c71000-2b8062c72000 rw-p 0000a000 fd:00 360476 /lib64/libnss_files-2.5.so 2b8062c72000-2b806ac72000 rw-s 00000000 00:09 26342840 (deleted) /dev/zero 2b806ac72000-2b806ac73000 rw-s 00000000 00:09 26342844 (deleted) /dev/zero 2b806ac73000-2b806b04a000 rw-p 2b806ac73000 00:00 0 7fffe8cbd000-7fffe8cd2000 rw-p 7ffffffe9000 00:00 0 [stack] ffffffffff600000-ffffffffffe00000 ---p 00000000 00:00 0 [vdso] 2012/04/11 05:04:27 [notice] 20552#0: signal 17 (SIGCHLD) received 2012/04/11 05:04:27 [alert] 20552#0: worker process 20624 exited on signal 6 2012/04/11 05:04:27 [notice] 20552#0: start worker process 20627 2012/04/11 05:04:27 [notice] 20552#0: signal 29 (SIGIO) received 2012/04/11 05:04:30 [notice] 20552#0: signal 17 (SIGCHLD) received 2012/04/11 05:04:30 [alert] 20552#0: worker process 20626 exited on signal 11 2012/04/11 05:04:30 [notice] 20552#0: start worker process 20628 2012/04/11 05:04:30 [notice] 20552#0: signal 29 (SIGIO) received


Reply to this email directly or view it on GitHub: https://github.com/wandenberg/nginx-push-stream-module/issues/23

pgrishin commented 12 years ago

looks great, thx