Bug 1705574 - Segfaults in Apache after updating packages (using mod_cluster and mod_ssl)
Summary: Segfaults in Apache after updating packages (using mod_cluster and mod_ssl)
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: mod_cluster
Version: 29
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Michal Karm Babacek
QA Contact: Michal Karm Babacek
URL:
Whiteboard:
Depends On:
Blocks: 1708248
TreeView+ depends on / blocked
 
Reported: 2019-05-02 13:46 UTC by Patrick Dung
Modified: 2019-11-27 22:45 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1708248 (view as bug list)
Environment:
Last Closed: 2019-11-27 22:45:33 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker MODCLUSTER-694 0 Blocker Resolved Segfaults with httpd-2.4.39-2.fc29.x86_64, conn_rec/request_rec, core on myConnConfig(r->connection); 2020-01-20 06:32:04 UTC

Description Patrick Dung 2019-05-02 13:46:30 UTC
Description of problem:
After updating RPM in Fedora 29, the apache instance with mod_ssl and mod_cluster would segfault but no core dump is produced.

Version-Release number of selected component (if applicable):
Fedora 29
httpd-2.4.39-2.fc29.x86_64
httpd-debuginfo-2.4.39-2.fc29.x86_64
httpd-devel-2.4.39-2.fc29.x86_64
httpd-filesystem-2.4.39-2.fc29.noarch
httpd-tools-2.4.39-2.fc29.x86_64
mod_ssl-debuginfo-2.4.39-2.fc29.x86_64
mod_ssl-2.4.39-2.fc29.x86_64
openssl-1.1.1b-5.fc29.x86_64
openssl-devel-1.1.1b-5.fc29.x86_64
openssl-libs-1.1.1b-5.fc29.i686
openssl-libs-1.1.1b-5.fc29.x86_64
openssl-perl-1.1.1b-5.fc29.x86_64
openssl-pkcs11-0.4.10-1.fc29.i686
openssl-pkcs11-0.4.10-1.fc29.x86_64
Originally I use mod_cluster-1.3.3 from FC27. Still have problem after I compile mod_cluster-1.3.10 from Git Hub.

How reproducible:
Always

Steps to Reproduce:
Upgrade RPM and start apache.

Actual results:
It segfaults.

Expected results:
It should not segfault.

Additional info:

Kernel log:
segfault at 298 ip 00007f2d5afb2957 sp 00007f2d587c1a48 error 4 in mod_ssl.so[7f2d5af94000+22000]

Apache log:
[Thu May 02 21:32:47.706671 2019] [core:notice] [pid 14040] AH00052: child pid 14401 exit signal Segmentation fault (11)

Thread 2.5 "httpd" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f96995f9700 (LWP 14665)]
0x00007f969cd91957 in modssl_request_is_tls (r=0x7f9688000bc0, scout=scout@entry=0x0) at ssl_util.c:105
105     ssl_util.c: No such file or directory.

(gdb) bt
#0  0x00007f969cd91957 in modssl_request_is_tls (r=0x7f9688000bc0, scout=scout@entry=0x0) at ssl_util.c:105
#1  0x00007f969cd774ef in ssl_hook_default_port (r=<optimized out>) at mod_ssl.c:633
#2  0x00005630ce0ec458 in ap_run_default_port (r=0x7f9688000bc0) at protocol.c:2441
#3  0x00005630ce0f33bb in ap_get_server_port (r=r@entry=0x7f9688000bc0) at core.c:1186
#4  0x00007f969ce79f91 in ap_proxy_determine_connection (p=0x7f9688000b48, r=0x7f9688000bc0, conf=0x5630ce58fb08, worker=<optimized out>,
    conn=0x5630ce679810, uri=0x7f96880012a0, url=0x7f96995f8b58, proxyname=0x0, proxyport=0, server_portstr=0x7f96995f8b60 "",
    server_portstr_size=32) at proxy_util.c:2533
#5  0x00007f969c7bc312 in ?? () from /etc/httpd/modules/mod_proxy_cluster.so
#6  0x00007f969c7bd21d in ?? () from /etc/httpd/modules/mod_proxy_cluster.so
#7  0x00007f969d75058e in start_thread () from /lib64/libpthread.so.0
#8  0x00007f969d679683 in clone () from /lib64/libc.so.6

(gdb) backtrace full
#0  0x00007f969cd91957 in modssl_request_is_tls (r=0x7f9688000bc0, scout=scout@entry=0x0) at ssl_util.c:105
        sslconn = <optimized out>
        sc = <optimized out>
#1  0x00007f969cd774ef in ssl_hook_default_port (r=<optimized out>) at mod_ssl.c:633
No locals.
#2  0x00005630ce0ec458 in ap_run_default_port (r=0x7f9688000bc0) at protocol.c:2441
        pHook = <optimized out>
        n = 0
        rv = 0
#3  0x00005630ce0f33bb in ap_get_server_port (r=r@entry=0x7f9688000bc0) at core.c:1186
        port = 0
        d = <optimized out>
#4  0x00007f969ce79f91 in ap_proxy_determine_connection (p=0x7f9688000b48, r=0x7f9688000bc0, conf=0x5630ce58fb08, worker=<optimized out>,
    conn=0x5630ce679810, uri=0x7f96880012a0, url=0x7f96995f8b58, proxyname=0x0, proxyport=0, server_portstr=0x7f96995f8b60 "",
    server_portstr_size=32) at proxy_util.c:2533
        server_port = <optimized out>
        err = <optimized out>
        uerr = <optimized out>
        uds_path = <optimized out>
#5  0x00007f969c7bc312 in ?? () from /etc/httpd/modules/mod_proxy_cluster.so
No symbol table info available.
#6  0x00007f969c7bd21d in ?? () from /etc/httpd/modules/mod_proxy_cluster.so
No symbol table info available.
#7  0x00007f969d75058e in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#8  0x00007f969d679683 in clone () from /lib64/libc.so.6
No symbol table info available.

Comment 1 Patrick Dung 2019-05-02 14:04:02 UTC
I tried to disable loading of mod_ssl and the Apache instance does not have segfaults.
So changing the component from mod_cluster to httpd (mod_ssl).

Comment 2 Joe Orton 2019-05-02 14:21:18 UTC
If the backtrace is correct this is dumping core on the line:

    SSLConnRec *sslconn = myConnConfig(r->connection);


this is almost certainly caused by mod_cluster's "fake" conn_rec/request_rec not being set up properly.

Comment 3 Patrick Dung 2019-05-02 14:53:04 UTC
Please kindly note my configuration files were used since 2018 and did not change. Only packages update ub today and the problem occurs.

Comment 5 Patrick Dung 2019-05-09 14:59:02 UTC
I had installed the updated rpm in FC29 from Bodhi and it should be ok now.
BTW, I am just a end user and not suitable for the QA process or task.
I would reset QA Contact to default.

Comment 6 Michal Karm Babacek 2019-05-09 20:22:20 UTC
Thank you Patrick.

Comment 7 Ben Cotton 2019-10-31 19:10:37 UTC
This message is a reminder that Fedora 29 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 29 on 2019-11-26.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '29'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 29 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 8 Ben Cotton 2019-11-27 22:45:33 UTC
Fedora 29 changed to end-of-life (EOL) status on 2019-11-26. Fedora 29 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.