Hello all,

    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)

   A page refresh will often succeed, but occasionally several refreshes
are needed to not get the segfault. One interesting point - Chrome clients
do not have this issue, nor do IE or FF browsers if they are run in
"Private mode". Non-private mode FF and IE browsers can reproduce the issue
regularly.

   I forced a core dump of the segfault, and the output of gdb is included
below, but I'm not fluent enough to be able to make sense of it (or use it
effectively), so any advice/help is greatly appreciated.

                           Thanks, best regards,

-Chuck

Server version: Apache/2.2.31 (Unix)
Server built:   Aug 26 2016 13:53:27
Server's Module Magic Number: 20051115:40
Server loaded:  APR 1.5.2, APR-Util 1.5.4
Compiled using: APR 1.5.2, APR-Util 1.5.4
Architecture:   64-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/apacheSSLDEV2"
 -D SUEXEC_BIN="/apacheSSLDEV2/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"


[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.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html
>
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:
<http://www.gnu.org/software/gdb/bugs/>...
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=0x1173cf0 "/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=0x117340e "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 = 0x117340e "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)

Reply via email to