You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by la...@apache.org on 1998/11/14 17:17:03 UTC

Re: os-solaris/1190: server processes in keepalive state do not die after keepalive-timeout

[In order for any reply to be added to the PR database, ]
[you need to include <ap...@Apache.Org> in the Cc line ]
[and leave the subject line UNCHANGED.  This is not done]
[automatically because of the potential for mail loops. ]
[If you do not include this Cc, your reply may be ig-   ]
[nored unless you are responding to an explicit request ]
[from a developer.                                      ]
[Reply only with text; DO NOT SEND ATTACHMENTS!         ]


Synopsis: server processes in keepalive state do not die after keepalive-timeout

State-Changed-From-To: open-feedback
State-Changed-By: lars
State-Changed-When: Sat Nov 14 08:17:02 PST 1998
State-Changed-Why:

Can you please recompile Apache with "-DNO_WRITEV"
and test if this 'fixes' your problem?



Re: os-solaris/1190: server processes in keepalive state do not die after keepalive-timeout

Posted by Eugene Crosser <cr...@average.org>.
> Can you please recompile Apache with "-DNO_WRITEV"
> and test if this 'fixes' your problem?

I will do it during next week.

Currently, I am running the server without Keepalive, so I do not
see hanging "keepalive" processes.  *BUT* instead I have processes
hanging in "gracefully finishing" state hanging forever, especially
after "soft restart" (kill -USR1).  I am not sure if it has any
relation to the hanging keepalive problem but the symptoms are similar.
This is confirmed with 1.3.0 and 1.3.3.  Typical "bt" trace of such
process is below unter the title "hanging process".  Sometimes
the processes in "gracefully finishing" state are cycling eating as
much CPU as they get.  Such cycling processes are not killable with
-TERM, and only killable with -KILL (9).  A call trace of such process
is below under the title "cycling process".  The traces are for 1.3.0
version I think.  The traces make me think that the problem may have
something to do with gethosbyaddr() call that may have some timeout
handling that gets in conflict with timeouts for keepalive/gracefully
finishing status.

============ hanging process ================
(gdb) bt
#0  0xef5b9b48 in __lwp_sema_wait ()
#1  0xef4d680c in _end ()
#2  0xef4d66ac in _end ()
#3  0xef4d7720 in _end ()
#4  0xef4d7578 in _end ()
#5  0xef5c7740 in _nsc_trydoorcall ()
#6  0xef6b276c in _door_gethostbyaddr_r ()
#7  0xef6b3050 in _get_hostserv_inetnetdir_byaddr ()
#8  0xef6b2160 in gethostbyaddr_r ()
#9  0xef6b2278 in gethostbyaddr ()
#10 0x42b6c in ap_get_remote_host ()
#11 0x49b0c in timeout ()
#12 0x49df0 in alrm_handler ()
#13 0xef4d5a98 in _end ()
#14 0xef4e0074 in _end ()
#15 0xef4d9d1c in _end ()
#16 0xef4d7728 in _end ()
#17 0xef4d7578 in _end ()
#18 0xef5c7740 in _nsc_trydoorcall ()
#19 0xef6b276c in _door_gethostbyaddr_r ()
#20 0xef6b3050 in _get_hostserv_inetnetdir_byaddr ()
#21 0xef6b2160 in gethostbyaddr_r ()
#22 0xef6b2278 in gethostbyaddr ()
#23 0x42b6c in ap_get_remote_host ()
#24 0x49a88 in timeout ()
#25 0xef4e0074 in _end ()
#26 0xef5c7920 in _nsc_trydoorcall ()
#27 0xef6b276c in _door_gethostbyaddr_r ()
#28 0xef6b3050 in _get_hostserv_inetnetdir_byaddr ()
#29 0xef6b2160 in gethostbyaddr_r ()
#30 0xef6b2278 in gethostbyaddr ()
#31 0x42b6c in ap_get_remote_host ()
#32 0x53b84 in ap_send_mmap ()
#33 0x47e34 in default_handler ()
#34 0x3e59c in ap_invoke_handler ()
#35 0x57c9c in process_request_internal ()
#36 0x57d08 in ap_process_request ()
#37 0x4d140 in child_main ()
#38 0x4d488 in make_child ()
#39 0x4d9c8 in perform_idle_server_maintenance ()
#40 0x4e13c in standalone_main ()
#41 0x4e91c in main ()

============ cycling process ================

(gdb) bt
#0  0xef4d630c in _end ()
#1  0xef4d62dc in _end ()
#2  0xef4d6654 in _end ()
#3  0xef4d7a30 in _end ()
#4  0xef4d9984 in _end ()
#5  0xef4dc934 in _end ()
#6  0xef4d97cc in _end ()
#7  0xef4df8bc in _end ()
#8  0x4d3cc in make_child ()
#9  0x4d9c8 in perform_idle_server_maintenance ()
#10 0x4e13c in standalone_main ()
#11 0x4e91c in main ()

============================