Similar to the worker bug, http://issues.apache.org/bugzilla/show_bug.cgi?id=42580 event mpm also crashes under stress under static workload. Here is the relevant configuration : <IfModule event.c> ListenBackLog 50000 StartServers 2 ThreadLimit 500 ThreadsPerChild 500 MinSpareThreads 100 MaxSpareThreads 1000 ThreadsPerChild 500 MaxClients 1000 MaxRequestsPerChild 0 </IfModule> Listen 192.168.21.1:8000 Listen 192.168.22.1:8000 Here is snippet of error log : [~/apache/build2/apache2] $ tail -f logs/error_log [Fri Feb 22 15:51:50 2008] [info] Server built: Feb 22 2008 14:32:14 [Fri Feb 22 15:56:13 2008] [notice] child pid 23769 exit signal Segmentation fault (11), possible coredump in /export/home/basantk/apache/build2/apache2 [Fri Feb 22 16:05:58 2008] [notice] child pid 23768 exit signal Segmentation fault (11), possible coredump in /export/home/basantk/apache/build2/apache2 [Fri Feb 22 16:10:15 2008] [notice] child pid 23786 exit signal Segmentation fault (11), possible coredump in /export/home/basantk/apache/build2/apache2 Some of the stack traces of crashes are : Crash 1 : ---------- t@503 (l@503) terminated by signal SEGV (Segmentation Fault) Current function is listener_thread 1035 APR_RING_REMOVE(cs, timeout_list); (dbx) where current thread: t@503 =>[1] listener_thread(thd = 0x8708c8, dummy = 0x8e5fc0), line 1035 in "event.c" [2] dummy_worker(opaque = 0x8708c8), line 142 in "thread.c" [3] _thr_setup(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffef5d8f7 [4] _lwp_start(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffef5dba0 Crash 2 : ---------- t@305 (l@305) terminated by signal SEGV (Segmentation Fault) Current function is ap_update_child_status_from_indexes 433 ws = &ap_scoreboard_image->servers[child_num][thread_num]; (dbx) where current thread: t@305 =>[1] ap_update_child_status_from_indexes(child_num = 80198392, thread_num = 0, status = 8, r = (nil)), line 433 in "scoreboard.c" [2] ap_update_child_status(sbh = 0x2cd6318, status = 8, r = (nil)), line 475 in "scoreboard.c" [3] ap_lingering_close(c = 0x2c78688), line 109 in "connection.c" [4] process_socket(p = 0x2c785e8, sock = 0x2cd6028, cs = 0x2cd6320, my_child_num = 0, my_thread_num = 302), line 650 in "event.c" [5] worker_thread(thd = 0x71a858, dummy = 0x6df670), line 1151 in "event.c" [6] dummy_worker(opaque = 0x71a858), line 142 in "thread.c" [7] _thr_setup(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffef5d8f7 [8] _lwp_start(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffef5dba0 Crash 3 : ---------- t@1 (l@1) terminated by signal SEGV (Segmentation Fault) 0xfffffd7ffef6543a: _read+0x000a: jae _read+0x16 [ 0xfffffd7ffef65446, .+0xc ] Current function is ap_mpm_pod_check 54 rc = read(fd, &c, 1); (dbx) where current thread: t@1 [1] _read(0x6, 0xfffffd7fffdff22b, 0x1, 0x0, 0x1, 0xfffffd7fffdff224), at 0xfffffd7ffef6543a [2] read(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffef4f6ad =>[3] ap_mpm_pod_check(pod = 0x54f008), line 54 in "pod.c" [4] child_main(child_num_arg = 0), line 1510 in "event.c" [5] make_child(s = 0x4bb6c8, slot = 0), line 1594 in "event.c" [6] perform_idle_server_maintenance(), line 1781 in "event.c" [7] server_main_loop(remaining_children_to_start = 0), line 1882 in "event.c" [8] ap_mpm_run(_pconf = 0x4b5fc8, plog = 0x4e8158, s = 0x4bb6c8), line 1949 in "event.c" [9] main(argc = 3, argv = 0xfffffd7fffdff5a8), line 730 in "main.c" fdqueue.c bug in worker also exist in event mpm too. I am verifying if similar patch can fix event mpm crashes too.
Ruediger has already checked in the patch in event mpm too. (r630348). Thanks to Ruediger. Comment #21 of http://issues.apache.org/bugzilla/show_bug.cgi?id=44402 If I won't see any crashes in 10 hours of stress then I will close the bug.
*** This bug has been marked as a duplicate of 44402 ***
I verified that the crashes in event mpm disappear after I applied the fdqueue.c patch in event mpm.