captures in regex location

Vladimir Sopot jd at artdesign.ru
Wed Mar 11 00:35:13 MSK 2009


On Mar 10, 2009, at 11:26 PM, Igor Sysoev wrote:

> On Tue, Mar 10, 2009 at 10:54:03PM +0300, Vladimir Sopot wrote:
>
>> а вот еще одна
>
> А если вернуться к старому конфигу без captures, но с версией 0.7.40 ?

Я боялся этого вопроса :) Пришлось сделать

if ($host ~* "................") {
         set $myvar $1;
}

после каждого server_name "...........";

# ../sbin/nginx -V
nginx version: nginx/0.7.40
built by gcc 4.3.2 [gcc-4_3-branch revision 141291] (SUSE Linux)
configure arguments: --with-http_stub_status_module --without- 
mail_pop3_module --without-mail_imap_module --without-mail_smtp_module  
--without-http_access_module --without-http_autoindex_module --without- 
http_browser_module --without-http_charset_module --without- 
http_limit_zone_module --without-http_map_module --without- 
http_memcached_module --without-http_ssi_module --without- 
http_userid_module --without-http_proxy_module

падает. Даже без "--with-debug" пишет корку (это нормально?):

2009/03/11 00:13:42 [alert] 24836#0: worker process 24850 exited on  
signal 11 (core dumped)
2009/03/11 00:13:43 [alert] 24836#0: worker process 24843 exited on  
signal 11 (core dumped)

# gdb ../sbin/nginx core.0013
GNU gdb (GDB; openSUSE 11.1) 6.8.50.20081120-cvs
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html 
 >
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show  
copying"
and "show warranty" for details.
This GDB was configured as "x86_64-suse-linux".
For bug reporting instructions, please see:
<http://bugs.opensuse.org/>...

warning: Can't read pathname for load map: Input/output error.
Reading symbols from /lib64/libcrypt.so.1...done.
Loaded symbols for /lib64/libcrypt.so.1
Reading symbols from /usr/lib64/libpcre.so.0...done.
Loaded symbols for /usr/lib64/libpcre.so.0
Reading symbols from /lib64/libz.so.1...done.
Loaded symbols for /lib64/libz.so.1
Reading symbols from /lib64/libc.so.6...done.
Loaded symbols for /lib64/libc.so.6
Reading symbols from /lib64/ld-linux-x86-64.so.2...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Core was generated by `nginx: worker process      '.
Program terminated with signal 11, Segmentation fault.
#0  0x000000000040ad25 in ngx_rbtree_delete (tree=0x66dcd0,  
node=0x73edd0) at src/core/ngx_rbtree.c:216
216	            temp->parent = subst;
(gdb) bt
#0  0x000000000040ad25 in ngx_rbtree_delete (tree=0x66dcd0,  
node=0x73edd0) at src/core/ngx_rbtree.c:216
#1  0x0000000000413c93 in ngx_expire_old_cached_files (cache=0x66dcd0,  
n=2, log=0x887428) at src/core/ngx_open_file_cache.c:713
#2  0x0000000000413d32 in ngx_open_file_cleanup (data=0x79cae8) at src/ 
core/ngx_open_file_cache.c:614
#3  0x0000000000404704 in ngx_destroy_pool (pool=0x79bcc0) at src/core/ 
ngx_palloc.c:53
#4  0x0000000000425bea in ngx_http_request_done (r=0x77fd10, error=0)  
at src/http/ngx_http_request.c:2813
#5  0x00000000004278e9 in ngx_http_finalize_request (r=<value  
optimized out>, rc=<value optimized out>) at src/http/ 
ngx_http_request.c:2299
#6  0x0000000000424335 in ngx_http_core_content_phase (r=0x77fd10,  
ph=0x775a18) at src/http/ngx_http_core_module.c:1236
#7  0x000000000041fb63 in ngx_http_core_run_phases (r=0x77fd10) at src/ 
http/ngx_http_core_module.c:769
#8  0x000000000041fc8c in ngx_http_handler (r=0x66dcd0) at src/http/ 
ngx_http_core_module.c:752
#9  0x00000000004283ab in ngx_http_process_request (r=0x77fd10) at src/ 
http/ngx_http_request.c:1556
#10 0x0000000000428986 in ngx_http_process_request_headers (rev=<value  
optimized out>) at src/http/ngx_http_request.c:1018
#11 0x0000000000428e75 in ngx_http_process_request_line  
(rev=0x7f6fcced8088) at src/http/ngx_http_request.c:828
#12 0x000000000042672a in ngx_http_init_request (rev=0x7f6fcced8088)  
at src/http/ngx_http_request.c:503
#13 0x00000000004268c6 in ngx_http_keepalive_handler  
(rev=0x7f6fcced8088) at src/http/ngx_http_request.c:2549
#14 0x000000000041ca37 in ngx_epoll_process_events (cycle=<value  
optimized out>, timer=<value optimized out>, flags=<value optimized  
out>)
     at src/event/modules/ngx_epoll_module.c:518
#15 0x0000000000416357 in ngx_process_events_and_timers  
(cycle=0x66a1c8) at src/event/ngx_event.c:245
#16 0x000000000041b9a3 in ngx_worker_process_cycle (cycle=0x66a1c8,  
data=<value optimized out>) at src/os/unix/ngx_process_cycle.c:767
#17 0x000000000041a413 in ngx_spawn_process (cycle=0x66a1c8,  
proc=0x41b34f <ngx_worker_process_cycle>, data=0x0,
     name=0x44528e "worker process", respawn=-2) at src/os/unix/ 
ngx_process.c:187
#18 0x000000000041af7a in ngx_start_worker_processes (cycle=0x66a1c8,  
n=14, type=-2) at src/os/unix/ngx_process_cycle.c:332
#19 0x000000000041bdf3 in ngx_master_process_cycle (cycle=0x66a1c8) at  
src/os/unix/ngx_process_cycle.c:124
#20 0x0000000000403f84 in main (argc=<value optimized out>,  
argv=0x7fffd5efd688) at src/core/nginx.c:363
(gdb) q
Quitting: You can't do that without a process to debug.

Возвращаем последнюю работавшую до captures версию -

# ../sbin/nginx -V
nginx version: nginx/0.7.33
built by gcc 4.3.2 [gcc-4_3-branch revision 141291] (SUSE Linux)
configure arguments: --with-http_stub_status_module --without- 
mail_pop3_module --without-mail_imap_module --without-mail_smtp_module  
--without-http_access_module --without-http_autoindex_module --without- 
http_browser_module --without-http_charset_module --without- 
http_limit_zone_module --without-http_map_module --without- 
http_memcached_module --without-http_ssi_module --without- 
http_userid_module --without-http_proxy_module

10 минут - полет нормальный. какую версию следующую пробовать?







More information about the nginx-ru mailing list