We have a RHEL 6.4 server with httpd 2.2.32, acting as a front-end for UID user authentication. Once authenticated, users are passed to the back-end Windows/Mysql database server on a private network, via ProxyPass/ProxyPassReverse.
PROBLEM: Pages are occasionally (40-50 times/day) being randomly truncated, which is always accompanied by a segmentation fault in the httpd error log:
[Thu Oct 13 14:44:08 2016] [notice] child pid 22716 exit signal Segmentation fault (11)
[root@vlsched ~]# gdb /apacheSSLDEV2/bin/httpd ./apacheSSLDEV2-core
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-60.el6)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
Reading symbols from /apacheSSLDEV2/bin/httpd...done.
[New Thread 9796]
Missing separate debuginfo for /apacheSSLDEV2/lib/libaprutil-1.so.0
Try: yum --disablerepo='*' --enablerepo='*-debug*' install /usr/lib/debug/.build-id/62/b961ed72279546bd42cee2d0c8d7ed0dec4298
Missing separate debuginfo for /apacheSSLDEV2/lib/libexpat.so.0
Try: yum --disablerepo='*' --enablerepo='*-debug*' install /usr/lib/debug/.build-id/24/bb06c86683c9950e3e54d45ba40c1e786ecab9
Missing separate debuginfo for /apacheSSLDEV2/lib/libapr-1.so.0
Try: yum --disablerepo='*' --enablerepo='*-debug*' install /usr/lib/debug/.build-id/0f/dae46acd31f1b37a5fe8484aee0792f3a45b4a
Missing separate debuginfo for /apacheSSLDEV2/modules/libopentoken.so
Try: yum --disablerepo='*' --enablerepo='*-debug*' install /usr/lib/debug/.build-id/37/05fa4039609e067223023de62e7c134b87249a
Missing separate debuginfo for /apacheSSLDEV2/modules/mod_pf.so
Try: yum --disablerepo='*' --enablerepo='*-debug*' install /usr/lib/debug/.build-id/22/b4b932110efff022a7fb96c3f595941a98e44c
Missing separate debuginfo for /apacheSSLDEV2/modules/mod_headers.so
Try: yum --disablerepo='*' --enablerepo='*-debug*' install /usr/lib/debug/.build-id/35/b1c2680d26276521c2ed92eab8960a56ac1d87
Missing separate debuginfo for /apacheSSLDEV2/modules/mod_proxy.so
Try: yum --disablerepo='*' --enablerepo='*-debug*' install /usr/lib/debug/.build-id/19/195f789e0f7d6e07cf5c44e252739bfe593f53
Missing separate debuginfo for /apacheSSLDEV2/modules/mod_proxy_connect.so
Try: yum --disablerepo='*' --enablerepo='*-debug*' install /usr/lib/debug/.build-id/15/8eff1555e28ab232f30e4f93ac01ca60036b68
Missing separate debuginfo for /apacheSSLDEV2/modules/mod_proxy_ftp.so
Try: yum --disablerepo='*' --enablerepo='*-debug*' install /usr/lib/debug/.build-id/b4/cfd85c4493265f65af9f6bd1f0074d25bf0459
Missing separate debuginfo for /apacheSSLDEV2/modules/mod_proxy_http.so
Try: yum --disablerepo='*' --enablerepo='*-debug*' install /usr/lib/debug/.build-id/a1/5e9bb81f6c0efee08919907a35281df586e948
Missing separate debuginfo for
Try: yum --disablerepo='*' --enablerepo='*-debug*' install /usr/lib/debug/.build-id/b5/d86fbcf0ccb03331e6c7c73897b96845e0a4eb
Reading symbols from /usr/lib64/libssl.so.10...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libssl.so.10
Reading symbols from /usr/lib64/libcrypto.so.10...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libcrypto.so.10
Reading symbols from /lib64/libm.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib64/libm.so.6
Reading symbols from /apacheSSLDEV2/lib/libaprutil-1.so.0...done.
Loaded symbols for /apacheSSLDEV2/lib/libaprutil-1.so.0
Reading symbols from /apacheSSLDEV2/lib/libexpat.so.0...done.
Loaded symbols for /apacheSSLDEV2/lib/libexpat.so.0
Reading symbols from /apacheSSLDEV2/lib/libapr-1.so.0...done.
Loaded symbols for /apacheSSLDEV2/lib/libapr-1.so.0
Reading symbols from /lib64/librt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/librt.so.1
Reading symbols from /lib64/libcrypt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/libcrypt.so.1
Reading symbols from /lib64/libpthread.so.0...(no debugging symbols found)...done.
[Thread debugging using libthread_db enabled]
Loaded symbols for /lib64/libpthread.so.0
Reading symbols from /lib64/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib64/libc.so.6
Reading symbols from /lib64/libgssapi_krb5.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/libgssapi_krb5.so.2
Reading symbols from /lib64/libkrb5.so.3...(no debugging symbols found)...done.
Loaded symbols for /lib64/libkrb5.so.3
Reading symbols from /lib64/libcom_err.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/libcom_err.so.2
Reading symbols from /lib64/libk5crypto.so.3...(no debugging symbols found)...done.
Loaded symbols for /lib64/libk5crypto.so.3
Reading symbols from /lib64/libdl.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/libdl.so.2
Reading symbols from /lib64/libz.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/libz.so.1
Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /lib64/libfreebl3.so...(no debugging symbols found)...done.
Loaded symbols for /lib64/libfreebl3.so
Reading symbols from /lib64/libkrb5support.so.0...(no debugging symbols found)...done.
Loaded symbols for /lib64/libkrb5support.so.0
Reading symbols from /lib64/libkeyutils.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/libkeyutils.so.1
Reading symbols from /lib64/libresolv.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/libresolv.so.2
Reading symbols from /lib64/libselinux.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/libselinux.so.1
Reading symbols from /lib64/libnss_files.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/libnss_files.so.2
Reading symbols from /apacheSSLDEV2/modules/libopentoken.so...(no debugging symbols found)...done.
Loaded symbols for /apacheSSLDEV2/modules/libopentoken.so
Reading symbols from /apacheSSLDEV2/modules/mod_pf.so...(no debugging symbols found)...done.
Loaded symbols for /apacheSSLDEV2/modules/mod_pf.so
Reading symbols from /apacheSSLDEV2/modules/mod_headers.so...done.
Loaded symbols for /apacheSSLDEV2/modules/mod_headers.so
Reading symbols from /apacheSSLDEV2/modules/mod_proxy.so...done.
Loaded symbols for /apacheSSLDEV2/modules/mod_proxy.so
Reading symbols from /apacheSSLDEV2/modules/mod_proxy_connect.so...done.
Loaded symbols for /apacheSSLDEV2/modules/mod_proxy_connect.so
Reading symbols from /apacheSSLDEV2/modules/mod_proxy_ftp.so...done.
Loaded symbols for /apacheSSLDEV2/modules/mod_proxy_ftp.so
Reading symbols from /apacheSSLDEV2/modules/mod_proxy_http.so...done.
Loaded symbols for /apacheSSLDEV2/modules/mod_proxy_http.so
Core was generated by `/apacheSSLDEV2/bin/httpd -k start'.
Program terminated with signal 11, Segmentation fault.
#0 apr_table_clear (t=0x101131d5503060f) at tables/apr_tables.c:467
467 t->a.nelts = 0;
Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.107.el6_4.2.x86_64 keyutils-libs-1.4-4.el6.x86_64 krb5-libs-1.10.3-10.el6.x86_64 libcom_err-1.41.12-14.el6.x86_64 libselinux-2.0.94-5.3.el6.x86_64 nss-softokn-freebl-3.12.9-11.el6.x86_64 openssl-1.0.1e-48.el6_8.1.x86_64 zlib-1.2.3-29.el6.x86_64
(gdb) bt full
#0 apr_table_clear (t=0x101131d5503060f) at tables/apr_tables.c:467
No locals.
#1 0x0000000000472116 in read_chunked_trailers (f=<value optimized out>, b=<value optimized out>, mode=AP_MODE_READBYTES,
block=APR_BLOCK_READ, readbytes=8192) at http_filters.c:286
rv = <value optimized out>
e = <value optimized out>
saved_headers_in = 0x1164440
saved_status = 200
r = 0x1175cb0
#2 ap_http_filter (f=<value optimized out>, b=<value optimized out>, mode=AP_MODE_READBYTES, block=APR_BLOCK_READ, readbytes=8192)
at http_filters.c:551
conf = 0x10c0c08
e = <value optimized out>
ctx = 0x1164748
rv = <value optimized out>
http_error = 413
bb = <value optimized out>
again = 1
#3 0x00007f99d70a983d in ap_proxy_http_process_response (p=0x115e878, r=<value optimized out>, backend=0x11423b0, origin=0x10cc4a0,
conf=0x10db2b8, server_portstr=0x7fff1f2f0000 "") at mod_proxy_http.c:1770
readbytes = 3716
rv = <value optimized out>
mode = <value optimized out>
finish = 0
rc = <value optimized out>
c = 0x114e1b0
buffer = "\000\nte\000 Wed, 12 Oct 2016 13:35:02 GMT\000\n859-1\000\n\000\000\000\000\200IF", '\000' <repeats 14 times>"\343, .\037\377\177\000\000p'\360×\177\000\000\000\000\000\000\000\000\000\000]\255\346t", '\000' <repeats 12 times>"\240,
(... User data deleted here....)
buf = <value optimized out>
keepchar = <value optimized out>
rp = 0x1175cb0
e = <value optimized out>
bb = 0x1175c70
tmp_bb = 0x1163e18
pass_bb = 0x1175c90
len = 15
backasswards = <value optimized out>
interim_response = 0
pread_len = <value optimized out>
save_table = <value optimized out>
backend_broke = 0
hop_by_hop_hdrs = {0x7f99d70ac405 "Keep-Alive", 0x7f99d70ac772 "Proxy-Authenticate", 0x7f99d70ac650 "TE",
0x7f99d70ac653 "Trailer", 0x7f99d70ac65b "Upgrade", 0x0}
i = <value optimized out>
te = 0x1164368 "chunked"
original_status = 200
proxy_status = 200
original_status_line = 0x0
proxy_status_line = <value optimized out>
#4 0x00007f99d70aac5f in proxy_http_handler (r=0x115e8f0, worker=<value optimized out>, conf=0x7fff1f2f0088,
url="" "/jsp/userListForm.jsp?mode=manage", proxyname=0x1155f88 "8\277\024\001", proxyport=50336) at mod_proxy_http.c:2036
status = <value optimized out>
server_portstr = "\000\350\025\001\000\000\000\000\370\263\r\001", '\000' <repeats 12 times>"\370, \263\r\001\000\000\000"
scheme = <value optimized out>
proxy_function = 0x7f99d70ac577 "HTTP"
u = <value optimized out>
backend = 0x11423b0
is_ssl = 18300184
c = 0x114e1b0
p = 0x115e878
uri = <value optimized out>
#5 0x00007f99d76bce62 in proxy_run_scheme_handler (r=0x115e8f0, worker=0x10dbf10, conf=0x10db2b8,
url="" "http://(... URL deleted here ...)", proxyhost=0x0, proxyport=0) at mod_proxy.c:2415
pHook = <value optimized out>
n = <value optimized out>
rv = -1
#6 0x00007f99d76c1457 in proxy_handler (r=0x115e8f0) at mod_proxy.c:1031
url = "" "http://(... URL deleted here ...)"
uri = 0x117340e "http://(... URL deleted here ...)"
scheme = 0x1173c00 "http"
p = 0x7fff1f2f01b8 "\340\353\025\001"
p2 = <value optimized out>
sconf = <value optimized out>
conf = 0x10db2b8
proxies = 0x10db3f8
ents = 0x10db418
i = <value optimized out>
access_status = 0
direct_connect = <value optimized out>
str = <value optimized out>
maxfwd = <value optimized out>
balancer = 0x0
worker = 0x10dbf10
attempts = 0
max_attempts = 0
list = <value optimized out>
#7 0x0000000000441680 in ap_run_handler (r=0x115e8f0) at config.c:158
pHook = <value optimized out>
n = <value optimized out>
rv = -1
#8 0x0000000000444cae in ap_invoke_handler (r=0x115e8f0) at config.c:376
handler = <value optimized out>
p = <value optimized out>
result = 0
old_handler = 0x7f99d76c827d "proxy-server"
ignore = <value optimized out>
#9 0x0000000000470650 in ap_process_request (r=0x115e8f0) at http_request.c:294
access_status = <value optimized out>
#10 0x000000000046d5b0 in ap_process_http_connection (c=0x114e1b0) at http_core.c:190
r = 0x115e8f0
csd = 0x0
#11 0x0000000000448c10 in ap_run_process_connection (c=0x114e1b0) at connection.c:43
pHook = <value optimized out>
n = <value optimized out>
rv = -1
#12 0x0000000000484188 in child_main (child_num_arg=<value optimized out>) at prefork.c:667
current_conn = 0x114e1b0
csd = 0x114dfc0
ptrans = 0x114df48
allocator = 0x1133850
status = <value optimized out>
i = <value optimized out>
lr = <value optimized out>
pollset = 0x114c0d8
sbh = 0x114c0d0
bucket_alloc = 0x1155f88
last_poll_idx = 0
#13 0x0000000000484484 in make_child (s=0x10ba930, slot=6) at prefork.c:768
pid = 0
#14 0x00000000004850d7 in perform_idle_server_maintenance (_pconf=<value optimized out>, plog=<value optimized out>,
s=<value optimized out>) at prefork.c:903
i = <value optimized out>
idle_count = <value optimized out>
ws = <value optimized out>
free_length = <value optimized out>
free_slots = {6, 7, 17985288, 0, 17541424, 0, 17985288, 0, 17985336, 0, 4438247, 0, 17985288, 0, 17985248, 0, 17985248, 0,
4578767, 0, 17985248, 0, 14, 0, 17958728, 0, 8, 0, 17580504, 0, 17555880, 0}
last_non_dead = <value optimized out>
total_non_dead = <value optimized out>
#15 ap_mpm_run (_pconf=<value optimized out>, plog=<value optimized out>, s=<value optimized out>) at prefork.c:1107
status = 17506872
pid = {pid = -1, in = 0x7f99d7f1e13b, out = 0x8, err = 0x10b4158}
child_slot = <value optimized out>
exitwhy = 0
processed_status = <value optimized out>
index = <value optimized out>
remaining_children_to_start = 0
rv = <value optimized out>
#16 0x000000000042da64 in main (argc=3, argv=0x7fff1f2f0748) at main.c:753
c = 0 '\000'
configtestonly = <value optimized out>
confname = 0x48e5ce "conf/httpd.conf"
def_server_root = 0x48e5bf "/apacheSSLDEV2"
temp_error_log = 0x0
error = <value optimized out>
process = 0x10ba930
server_conf = 0x10ba930
pglobal = 0x10b2148
pconf = 0x10b4158
plog = 0x10c41d8
ptemp = 0x10be1a8
pcommands = 0x10b6168
opt = 0x10b6258
rv = <value optimized out>
mod = <value optimized out>
optarg = 0x7fff1f2f06c0 "v\225b\213|\203\313Ov\225\262^\241\345C\260"
signal_server = <value optimized out>
(gdb)