Hi Kaspar,

Thanks for the email. I will try to duplicate your case and find a solution for 
it. 

Thanks,
Yingqi

-----Original Message-----
From: Kaspar Brand [mailto:[email protected]] 
Sent: Saturday, October 04, 2014 4:08 AM
To: [email protected]
Subject: Re: svn commit: r1599531 - in /httpd/httpd/trunk: CHANGES 
include/ap_listen.h server/listen.c server/mpm/event/event.c 
server/mpm/prefork/prefork.c server/mpm/worker/worker.c server/mpm_unix.c

> Author: jim
> Date: Tue Jun  3 13:07:29 2014
> New Revision: 1599531
> 
> URL: http://svn.apache.org/r1599531
> Log:
> Optimize w/ duplicated listeners and use of SO_REUSEPORT where 
> available.
> 
> Modified:
>     httpd/httpd/trunk/CHANGES
>     httpd/httpd/trunk/include/ap_listen.h
>     httpd/httpd/trunk/server/listen.c
>     httpd/httpd/trunk/server/mpm/event/event.c
>     httpd/httpd/trunk/server/mpm/prefork/prefork.c
>     httpd/httpd/trunk/server/mpm/worker/worker.c
>     httpd/httpd/trunk/server/mpm_unix.c


With these changes, I'm getting segfaults with the worker MPM from current 
trunk (r1629257) when trying to gracefully restart, i.e. with SIGUSR1. 
"Standard" restarts (SIGHUP) seem to work better, though I'm getting "server 
seems busy" and "scoreboard is full" log entries and other errors in this case. 
A sample stack (CentOS 6 / x86_64) is shown below, in case it helps in tracking 
down the issue.

Kaspar


(gdb) bt f
#0  make_child (s=0x7f8b447c26f8, slot=0) at worker.c:1410
        pid = <value optimized out>
#1  0x00007f8b43342037 in server_main_loop (_pconf=<value optimized out>, 
plog=<value optimized out>,
    s=<value optimized out>) at worker.c:1742
        status = 0
        pid = {pid = 2188, in = 0x7f8b447c26f8, out = 0x7f8b44791138, err = 
0x7f8b42811993}
        i = <value optimized out>
        old_gen = 0
        child_slot = 0
        exitwhy = APR_PROC_EXIT
        processed_status = 0
#2  worker_run (_pconf=<value optimized out>, plog=<value optimized out>, 
s=<value optimized out>) at worker.c:1872
        remaining_children_to_start = 3
        rv = <value optimized out>
        i = <value optimized out>
#3  0x00007f8b432ffe7e in ap_run_mpm (pconf=0x7f8b44791138, 
plog=0x7f8b447be498, s=0x7f8b447c26f8)
    at mpm_common.c:100
        pHook = <value optimized out>
        n = <value optimized out>
        rv = -1
#4  0x00007f8b432f940e in main (argc=1, argv=0x7ffffbee4618) at main.c:799
        c = 0 '\000'
        showcompile = 0
        showdirectives = 1148776984
        confname = 0x7f8b433442ea "conf/httpd.conf"
        def_server_root = 0x7f8b433442d1 "/home/apache-httpd/trunk"
        temp_error_log = 0x0
        error = <value optimized out>
        process = 0x7f8b4478f218
        pconf = 0x7f8b44791138
        plog = 0x7f8b447be498
        ptemp = 0x7f8b447bc348
        pcommands = 0x7f8b447b3248
        opt = 0x7f8b447b3338
        rv = <value optimized out>
        mod = <value optimized out>
        opt_arg = 0x0
        signal_server = <value optimized out>

Reply via email to