ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
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



 




Copyright © Lexa Software, 1996-2009.