Bug 44474 - Event mpm keeps crashing under stress (static workload)
Summary: Event mpm keeps crashing under stress (static workload)
Status: RESOLVED DUPLICATE of bug 44402
Alias: None
Product: Apache httpd-2
Classification: Unclassified
Component: mpm_event (show other bugs)
Version: 2.2.8
Hardware: Other Solaris
: P2 critical (vote)
Target Milestone: ---
Assignee: Apache HTTPD Bugs Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-02-22 16:41 UTC by Basant Kumar Kukreja
Modified: 2008-02-23 13:15 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Basant Kumar Kukreja 2008-02-22 16:41:19 UTC
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.
Comment 1 Basant Kumar Kukreja 2008-02-22 16:54:00 UTC
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.
Comment 2 Nick Kew 2008-02-22 17:35:12 UTC

*** This bug has been marked as a duplicate of 44402 ***
Comment 3 Basant Kumar Kukreja 2008-02-23 13:15:05 UTC
I verified that the crashes in event mpm disappear after I applied the fdqueue.c
patch in event mpm.