httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Ames <>
Subject Re: Currently known issues with 2.0.23
Date Wed, 08 Aug 2001 19:56:55 GMT
Greg Ames wrote:
> Cliff Woolley wrote:
> >
> > It looks like there might be a problem with _un_graceful restarts on
> > threaded, namely that the whole server just vaporizes.  

> After adding many ap_log_errors, looks like things go normally until we
> hit the code in ap_mpm_run responsible for graceless restart.  Then it
> sure looks like the parent catches a SIGTERM that it intended to send
> the children in ap_start_shutdown (the normal SIGTERM handler).

confirmed w/gdb:

1310        wake_up_and_die();
(gdb) n
1312        if (is_graceful) {
(gdb) p is_graceful
$3 = 0
(gdb) n
1326            if (unixd_killpg(getpgrp(), SIGTERM) < 0) {
(gdb) s
0x4000d500 in _dl_runtime_resolve () at dl-runtime.c:203
203     dl-runtime.c: No such file or directory.
        in dl-runtime.c
(gdb) n

Program received signal SIGTERM, Terminated.
0x4014fd11 in kill () from /lib/

...but then this cleanup stuff for mod_cgid seg faults

(gdb) finish
Run till exit from #0  0x4014fb46 in killpg () from /lib/
0x08064518 in ap_mpm_run (_pconf=0x80c443c, plog=0x80e453c, s=0x80c4984)
    at threaded.c:1326
1326            if (unixd_killpg(getpgrp(), SIGTERM) < 0) {
(gdb) n
1329            ap_reclaim_child_processes(1);          /* Start with
(gdb) p shutdown_pending
$4 = 1                  <===  gets set in ap_start_shutdown, wasn't on
(gdb) n
Program received signal SIGSEGV, Segmentation fault.
apr_pool_clear (a=0x0) at apr_pools.c:869
869         while (a->sub_pools) {
(gdb) bt
#0  apr_pool_clear (a=0x0) at apr_pools.c:869
#1  0x08090320 in apr_pool_destroy (a=0x0) at apr_pools.c:920
#2  0x4027d2ff in cgid_maint (reason=0, data=0x811a724, status=15)
    at mod_cgid.c:238
#3  0x0808dd69 in apr_proc_other_child_check () at otherchild.c:208
#4  0x0806ccfc in ap_reclaim_child_processes (terminate=1) at
#5  0x08064553 in ap_mpm_run (_pconf=0x80c443c, plog=0x80e453c,
    at threaded.c:1329
#6  0x08068e50 in main (argc=1, argv=0xbffff734) at main.c:427
#7  0x4013f0de in __libc_start_main () from /lib/

I've taken mod_cgid out of my build for now (didn't realize I had it
actually) and see what happens.  Catching the SIGTERM in the parent
can't be good though.


View raw message