Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: signal 17 (SIGCHLD) received when used "secure authentication" in Thunderbird
- To: nginx-ru@xxxxxxxxx
- Subject: Re: signal 17 (SIGCHLD) received when used "secure authentication" in Thunderbird
- From: umask <umask@xxxxxxxxx>
- Date: Wed, 11 Jul 2007 08:13:49 +0400
10.07.07, 11:07, Igor Sysoev <is@xxxxxxxxxxxxx>:
> On Tue, Jul 10, 2007 at 08:43:21AM +0400, umask wrote:
> >
> >
> >
> >
> > > On Mon, Jul 09, 2007 at 06:11:06PM +0400, umask wrote:
> >
> > > > 09.07.07, 16:25, Igor Savchenko <dicsydel@xxxxxxxxx>:
> >
> > > >
> >
> > > > > Hello umask,
> >
> > > >
> >
> > > > > Monday, July 9, 2007, 3:21:25 PM, you wrote:
> >
> > > >
> >
> > > > > > Видимо, это бага. Так ли?
> >
> > > >
> >
> > > > > Попробуй сделать backtrace. gdb -p [ПИД Воркера]
> >
> > > >
> >
> > > > > Далее делаешь так чтобы он вылетел. и пишешь backtrace
> >
> > > >
> >
> > > > > То что получил кидаешь сюда.
> >
> > > >
> >
> > > >
> >
> > > > У меня Linux (CentOS-5, i386). Завтра на работе сделаю strace и выложу
> > > > его результат.
> >
> > > strace не нужен. Нужно или посмотреть корку в gdb, или, как было
> > > предложено,
> >
> > > backtrace в gdb на живом процессе в момент получения сигнала.
> >
> > > В обоих случаях nginx должен быть собран с отладочной информацией (-g).
> >
> >
> >
> > После запуска gdp на worker'а nginx'а выполнил ровно то, что приводило к
> > SIGCHILD. Не знаю, так и должно быть, но после запуска на воркера gdb
> > Thunderbird не подключался к POP3 (происходил таймаут).
> Нужно так:
> gdb -p [pid]
> c
> подключаемся в Thunderbird
> переходим в gdb
> bt
#./nginx -v
nginx version: nginx/0.5.26
# gdb -p 4616
GNU gdb Red Hat Linux (6.5-16.el5rh)
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu".
Attaching to process 4616
Reading symbols from /opt/nginx/sbin/nginx...done.
Using host libthread_db library "/lib/libthread_db.so.1".
Reading symbols from /lib/libcrypt.so.1...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /lib/libpcre.so.0...done.
Loaded symbols for /lib/libpcre.so.0
Reading symbols from /lib/libssl.so.6...done.
Loaded symbols for /lib/libssl.so.6
Reading symbols from /lib/libcrypto.so.6...done.
Loaded symbols for /lib/libcrypto.so.6
Reading symbols from /usr/lib/libz.so.1...done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /usr/lib/libgssapi_krb5.so.2...done.
Loaded symbols for /usr/lib/libgssapi_krb5.so.2
Reading symbols from /usr/lib/libkrb5.so.3...done.
Loaded symbols for /usr/lib/libkrb5.so.3
Reading symbols from /lib/libcom_err.so.2...done.
Loaded symbols for /lib/libcom_err.so.2
Reading symbols from /usr/lib/libk5crypto.so.3...done.
Loaded symbols for /usr/lib/libk5crypto.so.3
Reading symbols from /lib/libresolv.so.2...done.
Loaded symbols for /lib/libresolv.so.2
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /usr/lib/libkrb5support.so.0...done.
Loaded symbols for /usr/lib/libkrb5support.so.0
Reading symbols from /lib/libnss_files.so.2...done.
Loaded symbols for /lib/libnss_files.so.2
0x0029e402 in __kernel_vsyscall ()
(gdb) c
Continuing.
Program received signal SIGSEGV, Segmentation fault.
ngx_encode_base64 (dst=0xbf99a034, src=0x99e9304) at src/core/ngx_string.c:745
745 *d++ = basis64[(s[0] >> 2) & 0x3f];
(gdb) bt
#0 ngx_encode_base64 (dst=0xbf99a034, src=0x99e9304)
at src/core/ngx_string.c:745
#1 0x080957a5 in ngx_pop3_auth_state (rev=0x99eaaf4)
at src/mail/ngx_mail_handler.c:730
#2 0x08062406 in ngx_epoll_process_events (cycle=0x99d8930, timer=59998,
flags=<value optimized out>) at src/event/modules/ngx_epoll_module.c:518
#3 0x080594fa in ngx_process_events_and_timers (cycle=0x99d8930)
at src/event/ngx_event.c:245
#4 0x0805fbdd in ngx_worker_process_cycle (cycle=0x99d8930, data=0x0)
at src/os/unix/ngx_process_cycle.c:747
#5 0x0805e601 in ngx_spawn_process (cycle=0x99d8930,
proc=0x805f54d <ngx_worker_process_cycle>, data=0x0,
name=0x809e857 "worker process", respawn=-2)
at src/os/unix/ngx_process.c:187
#6 0x0805f0e6 in ngx_start_worker_processes (cycle=0x99d8930, n=1, type=-2)
at src/os/unix/ngx_process_cycle.c:327
#7 0x0806014b in ngx_master_process_cycle (cycle=0x99d8930)
at src/os/unix/ngx_process_cycle.c:119
#8 0x0804c07f in main (argc=1, argv=0xbf99a4d4) at src/core/nginx.c:353
(gdb)
Вот что в логе:
2007/07/10 23:19:49 [debug] 4614#0: bind() 0.0.0.0:110 #4
2007/07/10 23:19:49 [debug] 4614#0: bind() 0.0.0.0:995 #5
2007/07/10 23:19:49 [debug] 4614#0: bind() 0.0.0.0:143 #6
2007/07/10 23:19:49 [debug] 4614#0: bind() 0.0.0.0:993 #7
2007/07/10 23:19:49 [notice] 4614#0: using the "epoll" event method
2007/07/10 23:19:49 [warn] 4614#0: 2048 worker_connections are more than open
file resource limit: 1024
2007/07/10 23:19:49 [debug] 4614#0: counter: B7FE8080, 1
2007/07/10 23:19:49 [notice] 4614#0: nginx/0.5.26
2007/07/10 23:19:49 [notice] 4614#0: built by gcc 4.1.1 20070105 (Red Hat
4.1.1-52)
2007/07/10 23:19:49 [notice] 4614#0: OS: Linux 2.6.18-8.1.6.el5
2007/07/10 23:19:49 [notice] 4614#0: sysctl(KERN_RTSIGMAX): 0
2007/07/10 23:19:49 [notice] 4614#0: getrlimit(RLIMIT_NOFILE): 1024:1024
2007/07/10 23:19:49 [debug] 4615#0: write: 8, BF99A2A6, 5, 0
2007/07/10 23:19:49 [debug] 4615#0: setproctitle: "nginx: master process
./nginx"
2007/07/10 23:19:49 [notice] 4615#0: start worker processes
2007/07/10 23:19:49 [debug] 4615#0: channel 8:9
2007/07/10 23:19:49 [debug] 4616#0: malloc: 099DC918:6144
2007/07/10 23:19:49 [debug] 4616#0: malloc: B7FB3008:172032
2007/07/10 23:19:49 [debug] 4616#0: malloc: 099EA9F0:106496
2007/07/10 23:19:49 [debug] 4616#0: malloc: 09A049F8:106496
2007/07/10 23:19:49 [debug] 4616#0: epoll add event: fd:4 op:1 ev:00000001
2007/07/10 23:19:49 [debug] 4616#0: epoll add event: fd:5 op:1 ev:00000001
2007/07/10 23:19:49 [debug] 4616#0: epoll add event: fd:6 op:1 ev:00000001
2007/07/10 23:19:49 [debug] 4616#0: epoll add event: fd:7 op:1 ev:00000001
2007/07/10 23:19:49 [debug] 4616#0: epoll add event: fd:9 op:1 ev:00000001
2007/07/10 23:19:49 [debug] 4616#0: setproctitle: "nginx: worker process"
2007/07/10 23:19:49 [debug] 4616#0: worker cycle
2007/07/10 23:19:49 [debug] 4616#0: epoll timer: -1
2007/07/10 23:19:49 [notice] 4615#0: start worker process 4616
2007/07/10 23:19:49 [debug] 4615#0: sigsuspend
2007/07/10 23:19:56 [info] 4616#0: epoll_wait() failed (4: Interrupted system
call)
2007/07/10 23:19:56 [debug] 4616#0: timer delta: 6771
2007/07/10 23:19:56 [debug] 4616#0: posted events 00000000
2007/07/10 23:19:56 [debug] 4616#0: worker cycle
2007/07/10 23:19:56 [debug] 4616#0: epoll timer: -1
2007/07/10 23:19:58 [debug] 4616#0: epoll: fd:4 ev:0001 d:B7FB3008
2007/07/10 23:19:58 [debug] 4616#0: accept on 0.0.0.0:110, ready: 0
2007/07/10 23:19:58 [debug] 4616#0: malloc: 099E9270:256
2007/07/10 23:19:58 [debug] 4616#0: *1 accept: 172.16.56.1 fd:8
2007/07/10 23:19:58 [info] 4616#0: *1 client 172.16.56.1 connected to
0.0.0.0:110
2007/07/10 23:19:58 [debug] 4616#0: *1 event timer add: 8: 60000:2979252215
2007/07/10 23:19:58 [debug] 4616#0: *1 epoll add event: fd:8 op:1 ev:80000001
2007/07/10 23:19:58 [debug] 4616#0: *1 send: fd:8 16 of 16
2007/07/10 23:19:58 [debug] 4616#0: timer delta: 2208
2007/07/10 23:19:58 [debug] 4616#0: posted events 00000000
2007/07/10 23:19:58 [debug] 4616#0: worker cycle
2007/07/10 23:19:58 [debug] 4616#0: epoll timer: 60000
2007/07/10 23:19:58 [debug] 4616#0: epoll: fd:8 ev:0001 d:B7FB31AC
2007/07/10 23:19:58 [debug] 4616#0: *1 malloc: 099EA370:256
2007/07/10 23:19:58 [debug] 4616#0: *1 pop3 auth state
2007/07/10 23:19:58 [debug] 4616#0: *1 recv: fd:8 6 of 128
2007/07/10 23:19:58 [debug] 4616#0: *1 send: fd:8 73 of 73
2007/07/10 23:19:58 [debug] 4616#0: timer delta: 2
2007/07/10 23:19:58 [debug] 4616#0: posted events 00000000
2007/07/10 23:19:58 [debug] 4616#0: worker cycle
2007/07/10 23:19:58 [debug] 4616#0: epoll timer: 59998
2007/07/10 23:19:59 [debug] 4616#0: epoll: fd:8 ev:0001 d:B7FB31AC
2007/07/10 23:19:59 [debug] 4616#0: *1 pop3 auth state
2007/07/10 23:19:59 [debug] 4616#0: *1 recv: fd:8 15 of 128
2007/07/10 23:20:45 [notice] 4615#0: signal 17 (SIGCHLD) received
2007/07/10 23:20:45 [alert] 4615#0: worker process 4616 exited on signal 11
2007/07/10 23:20:45 [debug] 4615#0: wake up
2007/07/10 23:20:45 [debug] 4615#0: reap childs
2007/07/10 23:20:45 [debug] 4615#0: child: 0 4616 e:0 t:1 d:0 r:1 j:0
2007/07/10 23:20:45 [debug] 4615#0: channel 8:9
2007/07/10 23:20:45 [debug] 4626#0: malloc: 099DC918:6144
2007/07/10 23:20:45 [debug] 4626#0: malloc: B7FB3008:172032
2007/07/10 23:20:45 [debug] 4626#0: malloc: 099EA9F0:106496
2007/07/10 23:20:45 [debug] 4626#0: malloc: 09A049F8:106496
2007/07/10 23:20:45 [debug] 4626#0: epoll add event: fd:4 op:1 ev:00000001
2007/07/10 23:20:45 [debug] 4626#0: epoll add event: fd:5 op:1 ev:00000001
2007/07/10 23:20:45 [debug] 4626#0: epoll add event: fd:6 op:1 ev:00000001
2007/07/10 23:20:45 [debug] 4626#0: epoll add event: fd:7 op:1 ev:00000001
2007/07/10 23:20:45 [debug] 4626#0: epoll add event: fd:9 op:1 ev:00000001
2007/07/10 23:20:45 [debug] 4626#0: setproctitle: "nginx: worker process"
2007/07/10 23:20:45 [debug] 4626#0: worker cycle
2007/07/10 23:20:45 [debug] 4626#0: epoll timer: -1
2007/07/10 23:20:45 [notice] 4615#0: start worker process 4626
2007/07/10 23:20:45 [debug] 4615#0: sigsuspend
--
Ilyas
|