https://issues.apache.org/bugzilla/show_bug.cgi?id=54886
Bug ID: 54886
Summary: SEGV in function ap_event_pod_check in
server/mpm/event/pod.c line 58
Product: Apache httpd-2
Version: 2.4.4
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: Core
Assignee: [email protected]
Reporter: [email protected]
Classification: Unclassified
While running Apache httpd 2.4.4 on Solaris 10 Sparc in regular operations
I see entries in the error_log thus :
[Wed Apr 24 10:57:43.939965 2013] [core:notice] [pid 7211:tid 1] AH00051: child
pid 10289 exit signal Segmentation fault (11), possible coredump in /usr/local
Multiple core files were produced via coreadm on Solaris 10 thus :
# ls
node_tds-host_sun4v-zone_z_009-time_1366772674-pid_7213-uid_80-gid_80-fid_httpd.core
node_tds-host_sun4v-zone_z_009-time_1366775571-pid_8013-uid_80-gid_80-fid_httpd.core
node_tds-host_sun4v-zone_z_009-time_1366787471-pid_8254-uid_80-gid_80-fid_httpd.core
node_tds-host_sun4v-zone_z_009-time_1366787487-pid_8839-uid_80-gid_80-fid_httpd.core
node_tds-host_sun4v-zone_z_009-time_1366800708-pid_8960-uid_80-gid_80-fid_httpd.core
node_tds-host_sun4v-zone_z_009-time_1366801023-pid_8840-uid_80-gid_80-fid_httpd.core
node_tds-host_sun4v-zone_z_009-time_1366801044-pid_10288-uid_80-gid_80-fid_httpd.core
node_tds-host_sun4v-zone_z_009-time_1366801056-pid_10289-uid_80-gid_80-fid_httpd.core
All error log entries look similar :
# grep "Segmentation\ fault" error_log
[Wed Apr 24 03:04:44.416256 2013] [core:notice] [pid 7211:tid 1] AH00051: child
pid 7213 exit signal Segmentation fault (11), possible coredump in /usr/local
[Wed Apr 24 03:53:01.725545 2013] [core:notice] [pid 7211:tid 1] AH00051: child
pid 8013 exit signal Segmentation fault (11), possible coredump in /usr/local
[Wed Apr 24 07:11:22.174870 2013] [core:notice] [pid 7211:tid 1] AH00051: child
pid 8254 exit signal Segmentation fault (11), possible coredump in /usr/local
[Wed Apr 24 07:11:35.182635 2013] [core:notice] [pid 7211:tid 1] AH00051: child
pid 8839 exit signal Segmentation fault (11), possible coredump in /usr/local
[Wed Apr 24 10:51:56.889740 2013] [core:notice] [pid 7211:tid 1] AH00051: child
pid 8960 exit signal Segmentation fault (11), possible coredump in /usr/local
[Wed Apr 24 10:57:11.924220 2013] [core:notice] [pid 7211:tid 1] AH00051: child
pid 8840 exit signal Segmentation fault (11), possible coredump in /usr/local
[Wed Apr 24 10:57:31.932518 2013] [core:notice] [pid 7211:tid 1] AH00051: child
pid 10288 exit signal Segmentation fault (11), possible coredump in /usr/local
[Wed Apr 24 10:57:43.939965 2013] [core:notice] [pid 7211:tid 1] AH00051: child
pid 10289 exit signal Segmentation fault (11), possible coredump in /usr/local
Using the Oracle Studio 12.3 tools debugger we see :
node002 $ dbx httpd
node_tds-host_sun4v-zone_z_009-time_1366801056-pid_10289-uid_80-gid_80-fid_httpd.core
Reading httpd
core file header read successfully
Reading ld.so.1
Reading libpcre.so.1.0.1
Reading libaprutil-1.so.0.5.1
Reading libexpat.so.0.5.0
Reading libiconv.so.2.5.1
Reading libapr-1.so.0.4.6
Reading libresolv.so.2
Reading libuuid.so.1
Reading libsendfile.so.1
Reading librt.so.1
Reading libsocket.so.1
Reading libnsl.so.1
Reading libpthread.so.1
Reading libc.so.1
Reading libaio.so.1
Reading libmd.so.1
Reading libc_psr.so.1
Reading libmp.so.2
Reading libscf.so.1
Reading libdoor.so.1
Reading libuutil.so.1
Reading libgen.so.1
Reading libm.so.2
Reading libldap.so.5
Reading libthread.so.1
Reading libdl.so.1
Reading libsasl.so.1
Reading libmd_psr.so.1
Reading libplc4.so
Reading libnspr4.so
Reading libssl3.so
Reading libnss3.so
Reading libnssutil3.so
Reading libplds4.so
Reading mod_authn_file.so
Reading mod_authn_anon.so
Reading mod_authn_core.so
Reading mod_authz_host.so
Reading mod_authz_groupfile.so
Reading mod_authz_user.so
Reading mod_authz_core.so
Reading mod_access_compat.so
Reading mod_auth_basic.so
Reading mod_auth_digest.so
Reading mod_file_cache.so
Reading mod_cache.so
Reading mod_socache_shmcb.so
Reading mod_reqtimeout.so
Reading mod_ext_filter.so
Reading mod_include.so
Reading mod_filter.so
Reading mod_deflate.so
Reading libz.so.1.2.7
Reading mod_mime.so
Reading mod_log_config.so
Reading mod_logio.so
Reading mod_env.so
Reading mod_expires.so
Reading mod_headers.so
Reading mod_usertrack.so
Reading mod_unique_id.so
Reading mod_setenvif.so
Reading mod_version.so
Reading mod_proxy.so
Reading mod_proxy_connect.so
Reading mod_proxy_ftp.so
Reading mod_proxy_http.so
Reading mod_unixd.so
Reading mod_dav.so
Reading mod_status.so
Reading mod_autoindex.so
Reading mod_info.so
Reading mod_suexec.so
Reading mod_cgid.so
Reading mod_dav_fs.so
Reading mod_vhost_alias.so
Reading mod_negotiation.so
Reading mod_dir.so
Reading mod_actions.so
Reading mod_speling.so
Reading mod_userdir.so
Reading mod_alias.so
Reading mod_rewrite.so
Reading libphp5.so
Reading libmysqlclient.so.18.0.0
Reading libgmp.so.10.1.1
Reading libintl.so.8.1.1
Reading libfreetype.so.6.10.0
Reading libX11.so.4
Reading libXpm.so.4
Reading libpng15.so.15.14.0
Reading libjpeg.so.9.0.0
Reading libssl.so.1.0.0
Reading libcrypto.so.1.0.0
Reading libcurl.so.4.3.0
Reading libidn.so.11.6.9
Reading libssh2.so.1.0.1
Reading libxml2.so.2.9.0
Reading libgcc_s.so.1
Reading liblzma.so.5.0.4
t@1 (l@1) terminated by signal SEGV (Segmentation Fault)
0xffffffff7d8dc858: _read+0x000c: bcc,pt %icc,_read+0x20 !
0xffffffff7d8dc86c
Current function is ap_event_pod_check
58 rc = read(fd, &c, 1);
(dbx) where
current thread: t@1
[1] _read(0x4, 0xffffffff7ffff2c3, 0x1, 0x1000a2c8c, 0x0, 0x1), at
0xffffffff7d8dc858
[2] read(0x5, 0xffffffff7ffff2c3, 0x1, 0x0, 0xffffffff7dc00200, 0x0), at
0xffffffff7d8ca240
=>[3] ap_event_pod_check(pod = 0x10029a548), line 58 in "pod.c"
[4] child_main(child_num_arg = 0), line 2185 in "event.c"
[5] make_child(s = 0x1001f9848, slot = 0), line 2272 in "event.c"
[6] perform_idle_server_maintenance(), line 2469 in "event.c"
[7] server_main_loop(remaining_children_to_start = 0), line 2597 in "event.c"
[8] event_run(_pconf = 0x1001cf468, plog = 0x100237028, s = 0x1001f9848),
line 2656 in "event.c"
[9] ap_run_mpm(0x1001cf468, 0x100237028, 0x1001f9848, 0x1001f9848, 0x0, 0x0),
at 0x100038990
[10] main(argc = 3, argv = 0xffffffff7ffffb98), line 777 in "main.c"
(dbx) regs
current thread: t@1
current frame: [3]
g0-g1 0x0000000000000000 0x0000000000000003
g2-g3 0x0000000000000010 0x0000000000000002
g4-g5 0x0000000000001c00 0xffffffffff7fffff
g6-g7 0x0000000000000000 0xffffffff7dc00200
o0-o1 0x0000000000000005 0xffffffff7ffff2c3
o2-o3 0x0000000000000001 0x0000000000000000
o4-o5 0xffffffff7dc00200 0x0000000000000000
o6-o7 0xffffffff7fffea01 0x00000001000a2c8c
l0-l1 0xffffffff7ffff2c3 0x0000000000000005
l2-l3 0xffffffff7ffff298 0x00000001002fcb70
l4-l5 0x00000001002fcb98 0x0000000000000000
l6-l7 0x0000000000000000 0xffffffff7e83fa80
i0-i1 0x000000010029a548 0x0000000100099190
i2-i3 0x000000010009bea8 0x00000001002fcb48
i4-i5 0x00000001002fc708 0x0000000000000000
i6-i7 0xffffffff7fffead1 0x000000010009d14c
y 0x0000000000000000
ccr 0x0000000000000045
pc 0x00000001000a2c8c:ap_event_pod_check+0x34 call read [PLT]
! 0x1001b99c0
npc 0xffffffff7d8dc85c:_read+0x10 cmp %o0, 91
(dbx) quit
node002 $
All other core files have similar contents at different times and for different
pids.
Regardless the issue seems to be with function ap_event_pod_check in
server/mpm/event/pod.c thus :
48 AP_DECLARE(int) ap_event_pod_check(ap_event_pod_t * pod)
49 {
50 char c;
51 apr_os_file_t fd;
52 int rc;
53
54 /* we need to surface EINTR so we'll have to grab the
55 * native file descriptor and do the OS read() ourselves
56 */
57 apr_os_file_get(&fd, pod->pod_in);
58 rc = read(fd, &c, 1);
59 if (rc == 1) {
60 switch (c) {
61 case RESTART_CHAR:
62 return AP_RESTART;
63 case GRACEFUL_CHAR:
64 return AP_GRACEFUL;
65 }
66 }
67 return AP_NORESTART;
68 }
69
Currently this httpd daemon is running fine and this problem is seen only
a 8 times and only on one single Apache install instance out of multiple.
Not sure if this is a "bug" or a "feature".
What other data is required?
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]