httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ruediger Pluem <rpl...@apache.org>
Subject Re: worker MPM on trunk does not shut down cleanly
Date Thu, 31 Jul 2008 20:45:53 GMT
Ok, this is caused by http://svn.apache.org/viewvc?rev=677505&view=rev
This is the reslist pre_cleanup patch. I don't know why so far, but as
I have a proxy configuration I suspect that it blocks on tearing down
the proxy connection pools.

Regards

RĂ¼diger

On 07/29/2008 11:01 PM, Ruediger Pluem wrote:
> Below the same trace for 2.2.x:
> 
> Process 319 attached - interrupt to quit
> 1217365129.950428 read(7, "$", 1) = 1
> 1217365131.583546 tgkill(319, 346, SIGHUP) = 0
> 1217365131.583831 --- SIGTERM (Terminated) @ 0 (0) ---
> 1217365131.584067 sigreturn() = ? (mask now [HUP INT QUIT USR1 ALRM 
> STKFLT CHLD CONT TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR])
> 1217365131.584361 munmap(0xb709d000, 8392704) = 0
> 1217365131.584614 munmap(0xaa083000, 8392704) = 0
> 1217365131.584860 munmap(0xb689c000, 8392704) = 0
> 1217365131.585105 munmap(0xb609b000, 8392704) = 0
> 1217365131.585349 munmap(0xb589a000, 8392704) = 0
> 1217365131.585593 munmap(0xb5099000, 8392704) = 0
> 1217365131.585854 munmap(0xb4898000, 8392704) = 0
> 1217365131.586098 munmap(0xb4097000, 8392704) = 0
> 1217365131.586343 munmap(0xb3896000, 8392704) = 0
> 1217365131.586587 munmap(0xb3095000, 8392704) = 0
> 1217365131.586831 munmap(0xb2894000, 8392704) = 0
> 1217365131.587074 munmap(0xb2093000, 8392704) = 0
> 1217365131.587228 munmap(0xb1892000, 8392704) = 0
> 1217365131.587370 munmap(0xb1091000, 8392704) = 0
> 1217365131.587511 munmap(0xb0890000, 8392704) = 0
> 1217365131.587652 munmap(0xb008f000, 8392704) = 0
> 1217365131.587793 munmap(0xaf88e000, 8392704) = 0
> 1217365131.587933 munmap(0xaf08d000, 8392704) = 0
> 1217365131.588073 munmap(0xae88c000, 8392704) = 0
> 1217365131.588214 munmap(0xae08b000, 8392704) = 0
> 1217365131.588354 munmap(0xad88a000, 8392704) = 0
> 1217365131.588495 munmap(0xad089000, 8392704) = 0
> 1217365131.588636 munmap(0xac888000, 8392704) = 0
> 1217365131.589828 exit_group(0) = ?
> 
> An ltrace for 2.2.x:
> 
> 1217365232.987293 [0xb7f7d410] SYS_read(7, "$", 
> 1)                                     = 1
> 1217365236.584600 [0x80886df] apr_thread_join(0xbfb64364, 0x81717b0, 1, 
> 0, 0)          = 0
> 1217365236.585364 [0x808874b] pthread_kill(0xaa840b90, 1, 0xbfb64368, 
> 0x8088776, 0 <unfinished ...>
> 1217365236.585907 [0xb7f7d410] SYS_tgkill(386, 413, 1, 0, 2 <no return ...>
> 1217365236.587193 [0xffffffff] +++ killed by SIGTRAP +++
> 
> An ltrace for trunk:
> 
> 1217365285.357994 [0xb7fae410] SYS_read(7, "$", 
> 1)                                     = 1
> 1217365289.126204 [0x808b6bf] apr_thread_join(0xbf971974, 0x818d810, 1, 
> 0, 0)          = 0
> 1217365289.126982 [0x808dcb5] apr_thread_mutex_lock(0x818d9b0, 2, 
> 0xbf971958, 0x808b726, 0x818d998) = 0
> 1217365289.127654 [0x808dcd2] apr_thread_cond_broadcast(0x818d9e0, 2, 
> 0xbf971958, 0x808b726, 0x818d998) = 0
> 1217365289.128331 [0x808b726] apr_thread_mutex_unlock(0x818d9b0, 
> 0x818d810, 0xbf971978, 0x808b766, 0) = 0
> 1217365289.128997 [0x808b73d] pthread_kill(0xaa8e0b90, 1, 0xbf971978, 
> 0x808b766, 0 <unfinished ...>
> 1217365289.129564 [0xb7fae410] SYS_tgkill(435, 462, 1, 0, 2 <no return ...>
> 1217365289.130846 [0xffffffff] +++ killed by SIGTRAP +++
> 
> 
> On 07/29/2008 10:58 PM, Ruediger Pluem wrote:
>> I just noticed that on trunk the worker MPM on Linux no longer shuts 
>> down cleanly.
>> That means the parent process kills the child with SIGKILL which usually
>> should not happen. There is no such problem with 2.2.x. I was not able 
>> to obtain
>> a backtrace. The most usable seems to be an strace of the child process:
>>
>> Process 32721 attached - interrupt to quit
>> 1217364884.451615 read(7, "$", 1) = 1
>> 1217364886.829260 tgkill(32721, 32748, SIGHUP) = 0
>> 1217364886.829413 futex(0x818d880, 0x4 /* FUTEX_??? */, 1) = 25
>> 1217364886.829562 tgkill(32721, 32748, SIG_0) = 0
>> 1217364886.829696 select(0, NULL, NULL, NULL, {0, 500000}) = ? 
>> ERESTARTNOHAND (To be restarted)
>> 1217364886.829902 --- SIGTERM (Terminated) @ 0 (0) ---
>> 1217364886.830067 sigreturn() = ? (mask now [HUP INT QUIT USR1 ALRM 
>> STKFLT CHLD CONT TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR])
>> 1217364886.830248 tgkill(32721, 32748, SIGHUP) = 0
>> 1217364886.830379 tgkill(32721, 32748, SIG_0) = 0
>> 1217364886.830509 select(0, NULL, NULL, NULL, {0, 500000}) = 0 (Timeout)
>> 1217364887.321620 munmap(0xb7094000, 8392704) = 0
>> 1217364887.321788 munmap(0xaa07a000, 8392704) = 0
>> 1217364887.321934 munmap(0xb6893000, 8392704) = 0
>> 1217364887.322077 munmap(0xb6092000, 8392704) = 0
>> 1217364887.322220 munmap(0xb5891000, 8392704) = 0
>> 1217364887.322367 munmap(0xb5090000, 8392704) = 0
>> 1217364887.322509 munmap(0xb488f000, 8392704) = 0
>> 1217364887.322651 munmap(0xb408e000, 8392704) = 0
>> 1217364887.322794 munmap(0xb388d000, 8392704) = 0
>> 1217364887.322936 munmap(0xb308c000, 8392704) = 0
>> 1217364887.323910 munmap(0xb288b000, 8392704) = 0
>> 1217364887.323943 munmap(0xb208a000, 8392704) = 0
>> 1217364887.323984 munmap(0xb1889000, 8392704) = 0
>> 1217364887.324014 munmap(0xb1088000, 8392704) = 0
>> 1217364887.324043 munmap(0xb0887000, 8392704) = 0
>> 1217364887.324072 munmap(0xb0086000, 8392704) = 0
>> 1217364887.324101 munmap(0xaf885000, 8392704) = 0
>> 1217364887.324130 munmap(0xaf084000, 8392704) = 0
>> 1217364887.324158 munmap(0xae883000, 8392704) = 0
>> 1217364887.324187 munmap(0xae082000, 8392704) = 0
>> 1217364887.324217 munmap(0xad881000, 8392704) = 0
>> 1217364887.324245 munmap(0xad080000, 8392704) = 0
>> 1217364887.324278 munmap(0xac87f000, 8392704) = 0
>> 1217364887.324329 futex(0x819176c, FUTEX_WAIT, 2, NULL) = -1 EINTR 
>> (Interrupted system call)
>> 1217364890.157855 --- SIGTERM (Terminated) @ 0 (0) ---
>> 1217364890.158009 sigreturn() = ? (mask now [HUP INT QUIT USR1 ALRM 
>> STKFLT CHLD CONT TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR])
>> 1217364890.158189 futex(0x819176c, FUTEX_WAIT, 2, NULL) = -1 EINTR 
>> (Interrupted system call)
>> 1217364892.145923 --- SIGTERM (Terminated) @ 0 (0) ---
>> 1217364892.146079 sigreturn() = ? (mask now [HUP INT QUIT USR1 ALRM 
>> STKFLT CHLD CONT TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR])
>> 1217364892.146261 futex(0x819176c, FUTEX_WAIT, 2, NULL) = -1 EINTR 
>> (Interrupted system call)
>> 1217364894.133997 --- SIGTERM (Terminated) @ 0 (0) ---
>> 1217364894.134155 sigreturn() = ? (mask now [HUP INT QUIT USR1 ALRM 
>> STKFLT CHLD CONT TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR])
>> 1217364894.134333 futex(0x819176c, FUTEX_WAIT, 2, NULL) = -1 EINTR 
>> (Interrupted system call)
>> 1217364896.126425 +++ killed by SIGKILL +++
>> Process 32721 detached
>>
>> So it seems that it wait on some futex indefinitely.
>> Can somebody reproduce this problem or has an idea why this happens?
>>
>> Regards
>>
>> RĂ¼diger
>>
>>
>>
> 
> 

Mime
View raw message