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>
