One more attempt: stuck processes

Sebastian Hagedorn Hagedorn at uni-koeln.de
Thu Nov 15 12:27:37 EST 2007


--On 15. November 2007 11:00:39 -0500 Ken Murchison <murch at andrew.cmu.edu> 
wrote:

>> (gdb) bt
>> # 0  0x0079f41e in __read_nocancel () from /lib/tls/libc.so.6
>> # 1  0x00d0b2f7 in BIO_new_socket () from /lib/libcrypto.so.4
>> # 2  0x00d092b2 in BIO_read () from /lib/libcrypto.so.4
>> # 3  0x005dae13 in ssl23_read_bytes () from /lib/libssl.so.4
>> # 4  0x005d9c51 in ssl23_get_client_hello () from /lib/libssl.so.4
>> # 5  0x005d9712 in ssl23_accept () from /lib/libssl.so.4
>> # 6  0x005ddc9a in SSL_accept () from /lib/libssl.so.4
>> # 7  0x08052cb3 in shut_down ()
>> # 8  0x0804e513 in shut_down ()
>> # 9  0x0804d58c in ?? ()
>> # 10 0x00000001 in ?? ()
>> # 11 0x082ee848 in ?? ()
>> # 12 0x00000000 in ?? ()
>>
>> Any other ideas?
>
> Not at the moment.  I don't understand how SSL_accept() gets called from
> shut_down().

That's what I'd been wondering about myself.

>  Are you running a Murder?

No, it's a pretty plain setup.

The only reason I could imagine for the sequence of calls was signal 
handling. But let's be methodical. There's only one spot where SSL_accept() 
is called: in tls_start_servertls(). In pop3d.c that's only called in 
cmd_starttls(). That in turn is called either in cmdloop (for handling of 
STLS) or in service_main() for connections to port 995.

shut_down() could conceivably be called by signals_poll(). The POP process 
above has the following lines in syslog at debug level:

Nov 15 15:44:18 lvr13 master[25038]: about to exec 
/usr/lib/cyrus-imapd/pop3d
Nov 15 15:44:18 lvr13 pop3s[25038]: executed
Nov 15 15:44:20 lvr13 pop3s[25038]: accepted connection

That's it. So I'm guessing that the connection (which was to some dial-up 
IP address) got dropped while the process was in service_main(). I don't 
understand why that doesn't show up in the trace, and why last/first four 
entries read '??'.

But even that doesn't really make sense, because shut_down() isn't actually 
a signal handler, it's only called at certain points by signal_polls().
-- 
     .:.Sebastian Hagedorn - RZKR-R1 (Gebäude 52), Zimmer 18.:.
Zentrum für angewandte Informatik - Universitätsweiter Service RRZK
.:.Universität zu Köln / Cologne University - ✆ +49-221-478-5587.:.
                   .:.:.:.Skype: shagedorn.:.:.:.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 186 bytes
Desc: not available
Url : http://lists.andrew.cmu.edu/pipermail/info-cyrus/attachments/20071115/1a6bdacf/attachment.bin 


More information about the Info-cyrus mailing list