Bug 1592794 - [GSS] SSSD crash on RHGS server - Reconcile RHGS Samba dependency on system libldb to private libldb version
Summary: [GSS] SSSD crash on RHGS server - Reconcile RHGS Samba dependency on system l...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Gluster Storage
Classification: Red Hat Storage
Component: samba
Version: rhgs-3.3
Hardware: Unspecified
OS: Unspecified
medium
high
Target Milestone: ---
: RHGS 3.4.0
Assignee: Anoop C S
QA Contact: Vivek Das
URL:
Whiteboard:
Depends On:
Blocks: 1503138
TreeView+ depends on / blocked
 
Reported: 2018-06-19 10:31 UTC by Bipin Kunal
Modified: 2021-12-10 16:24 UTC (History)
24 users (show)

Fixed In Version: samba-4.7.5-105
Doc Type: Release Note
Doc Text:
As of Red Hat Gluster Storage 3.4, the libldb package is no longer shipped as an independent package in the Red Hat Gluster Storage Samba channel. The capabilities of the libldb package are now provided by a combination of the samba-client and samba-client-libs packages. In addition, the sub-packages previously provided by libldb are now provided by the samba-client and samba-client-libs packages. The samba-client sub-package provides ldb-tools, and the samba-client-libs sub-package provides pyldb.
Clone Of: 1569507
Environment:
Last Closed: 2018-09-04 06:57:17 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Knowledge Base (Solution) 3615901 0 None None None 2018-09-18 08:05:42 UTC
Red Hat Product Errata RHSA-2018:2612 0 None None None 2018-09-04 06:57:38 UTC

Description Bipin Kunal 2018-06-19 10:31:13 UTC
Description of problem:
SSSD is crashing when installed on gluster client.
--------------------------------------------------------------------
+++ This bug was initially created as a clone of Bug #1569507 +++

Description of problem:
SSSD is crashing when installed on gluster client.

Core was generated by `/usr/sbin/sssd -f -D'.
Program terminated with signal 4, Illegal instruction.
#0  0x00007f430bc0ab1c in ?? () from /usr/lib64/ldb/modules/ldb/memberof.so

Thread 1 (Thread 0x7f430c010700 (LWP 22048)):
#0  0x00007f430bc0ab1c in ?? () from /usr/lib64/ldb/modules/ldb/memberof.so
No symbol table info available.
#1  0x0000000000000065 in ?? ()
No symbol table info available.
#2  0x0000003ff701eefd in ldb_db_lock_destructor (lock_context=0xd84f20) at ../common/ldb.c:991
        ret = <value optimized out>
        next_module = 0xd836a0
#3  0x0000003ff5c08d82 in _tc_free_internal (tc=0xd84ec0, location=0x3ff7028019 "../common/ldb.c:1026") at ../talloc.c:1078
        d = 0x3ff701eea0 <ldb_db_lock_destructor>
        ptr_to_free = <value optimized out>
        ptr = 0xd84f20
#4  0x0000003ff701fc5a in ldb_lock_backend_callback (req=<value optimized out>, ares=0xd8ea70) at ../common/ldb.c:1026
        lock_context = 0xd84f20
        ret = 34
#5  0x00007f430ade5862 in ltdb_callback (ev=<value optimized out>, te=<value optimized out>, t=..., private_data=<value optimized out>) at ../ldb_tdb/ldb_tdb.c:1470
        ctx = 0xd8e7a0
        ret = <value optimized out>
#6  0x0000003ff74099a4 in tevent_common_loop_timer_delay (ev=0xd8e1b0) at ../tevent_timed.c:369
        current_time = {tv_sec = 0, tv_usec = 0}
        te = 0xd8e860
#7  0x0000003ff740aa01 in epoll_event_loop_once (ev=0xd8e1b0, location=<value optimized out>) at ../tevent_epoll.c:915
        epoll_ev = 0xd8e670
        tval = {tv_sec = 14176032, tv_usec = 274727041952}
        panic_triggered = false
#8  0x0000003ff7408f06 in std_event_loop_once (ev=0xd8e1b0, location=0x3ff70282eb "../common/ldb.c:639") at ../tevent_standard.c:114
        glue_ptr = <value optimized out>
        glue = 0xd8e520
        ret = <value optimized out>
#9  0x0000003ff74049a5 in _tevent_loop_once (ev=0xd8e1b0, location=0x3ff70282eb "../common/ldb.c:639") at ../tevent.c:725
        ret = <value optimized out>
        nesting_stack_ptr = 0x0
#10 0x0000003ff70210e9 in ldb_wait (handle=0xd8e110, type=LDB_WAIT_ALL) at ../common/ldb.c:639
        ev = 0xd8e1b0
        ret = <value optimized out>
#11 0x0000003ff70217d9 in ldb_search (ldb=0xd833a0, mem_ctx=0xd80cb0, result=0x7ffdbd669248, base=<value optimized out>, scope=<value optimized out>, attrs=0x3ff722fea0, exp_fmt=0x3ff702849b "(objectClass=*)") at ../common/ldb.c:1765
        req = 0xd8e040
        res = 0xd84140
        expression = 0xd845a0 "(objectClass=*)"
        ap = {{gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7ffdbd669238, reg_save_area = 0x7ffdbd669140}}
        ret = <value optimized out>
#12 0x0000003ff7021b21 in ldb_set_default_dns (ldb=0xd833a0) at ../common/ldb.c:167
        tmp_ctx = 0xd80cb0
        ret = <value optimized out>
        res = <value optimized out>
        tmp_dn = 0x0
        attrs = {0x3ff7027e2b "rootDomainNamingContext", 0x3ff7027e10 "configurationNamingContext", 0x3ff7027dfc "schemaNamingContext", 0x3ff7027de7 "defaultNamingContext", 0x0}
#13 0x0000003ff7021d58 in ldb_connect (ldb=0xd833a0, url=0xd83da0 "/var/lib/sss/db/cache_cds.capilanou.ca.ldb", flags=<value optimized out>, options=0x0) at ../common/ldb.c:274
        ret = 0
        url2 = <value optimized out>
#14 0x00007f430c84d92c in sysdb_ldb_connect (mem_ctx=<value optimized out>, filename=0xd83da0 "/var/lib/sss/db/cache_cds.capilanou.ca.ldb", _ldb=0xd83750) at src/db/sysdb.c:59
        ret = <value optimized out>
        ldb = 0xd833a0
        mod_path = 0x0
        __FUNCTION__ = "sysdb_ldb_connect"
#15 0x00007f430c84daf2 in sysdb_domain_init_internal (mem_ctx=<value optimized out>, domain=0xd7df60, db_path=0x7f430c88501d "/var/lib/sss/db", allow_upgrade=true, _ctx=0x7ffdbd669378) at src/db/sysdb.c:1123
        tmp_ctx = 0x0
        sysdb = 0xd83750
        base_ldif = <value optimized out>
        ldif = <value optimized out>
        el = <value optimized out>
        res = <value optimized out>
        verdn = <value optimized out>
        version = 0x0
        ret = 0
        __FUNCTION__ = "sysdb_domain_init_internal"
#16 0x00007f430c84e425 in sysdb_init_ext (mem_ctx=0xd7f890, domains=<value optimized out>, allow_upgrade=true, chown_dbfile=true, uid=0, gid=0) at src/db/sysdb.c:1384
        dom = 0xd7df60
        sysdb = 0x1
        ret = <value optimized out>
        __FUNCTION__ = "sysdb_init_ext"
#17 0x0000000000409a3c in monitor_process_init (argc=3, argv=<value optimized out>) at src/monitor/monitor.c:2401
        te = <value optimized out>
        dom = <value optimized out>
        num_providers = <value optimized out>
        rcachedir = 0x0
        ret = <value optimized out>
        tmp_ctx = 0xd7f890
        tes = <value optimized out>
        tv = {tv_sec = 140727781070776, tv_usec = 1}
        error = <value optimized out>
#18 main (argc=3, argv=<value optimized out>) at src/monitor/monitor.c:3060
        opt = <value optimized out>
        pc = <value optimized out>
        opt_daemon = 1
        opt_interactive = 0
        opt_version = 0
        opt_config_file = 0x0
        config_file = <value optimized out>
        flags = 5
        main_ctx = 0xd81b30
        tmp_ctx = 0xd76070
        monitor = 0xd76670
        ret = <value optimized out>
        uid = <value optimized out>
        long_options = {{longName = 0x0, shortName = 0 '\000', argInfo = 4, arg = 0x611b80, val = 0, descrip = 0x40d316 "Help options:", argDescrip = 0x0}, {longName = 0x40d324 "debug-level", shortName = 100 'd', argInfo = 2, arg = 0x611c40, val = 0, descrip = 0x40d2bd "Debug level", argDescrip = 0x0}, {longName = 0x40c768 "debug-to-files", shortName = 102 'f', argInfo = 0, arg = 0x611b64, val = 0, descrip = 0x40e5a0 "Send the debug output to files instead of stderr", argDescrip = 0x0}, {longName = 0x40c795 "debug-to-stderr", shortName = 0 '\000', argInfo = 1073741824, arg = 0x611c58, val = 0, descrip = 0x40e5d8 "Send the debug output to stderr directly.", argDescrip = 0x0}, {longName = 0x40d330 "debug-timestamps", shortName = 0 '\000', argInfo = 2, arg = 0x611b60, val = 0, descrip = 0x40d2c9 "Add debug timestamps", argDescrip = 0x0}, {longName = 0x40d341 "debug-microseconds", shortName = 0 '\000', argInfo = 2, arg = 0x611c50, val = 0, descrip = 0x40e608 "Show timestamps with microseconds", argDescrip = 0x0}, {longName = 0x40d354 "daemon", shortName = 68 'D', argInfo = 0, arg = 0x7ffdbd66967c, val = 0, descrip = 0x40d2de "Become a daemon (default)", argDescrip = 0x0}, {longName = 0x40d35b "interactive", shortName = 105 'i', argInfo = 0, arg = 0x7ffdbd669678, val = 0, descrip = 0x40e630 "Run interactive (not a daemon)", argDescrip = 0x0}, {longName = 0x40fed5 "config", shortName = 99 'c', argInfo = 1, arg = 0x7ffdbd669668, val = 0, descrip = 0x40e650 "Specify a non-default config file", argDescrip = 0x0}, {longName = 0x40fec7 "version", shortName = 0 '\000', argInfo = 0, arg = 0x7ffdbd669674, val = 0, descrip = 0x40d2f8 "Print version number and exit", argDescrip = 0x0}, {longName = 0x0, shortName = 0 '\000', argInfo = 0, arg = 0x0, val = 0, descrip = 0x0, argDescrip = 0x0}}
        __FUNCTION__ = "main"


Version-Release number of selected component (if applicable):
Red Hat Enterprise Linux Server release 6.9 (Santiago)
sssd-1.13.3-58.el6_9.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Install RHEL 6
2. Subscribe to Gluster channels & install gluster packages
rh-gluster-3-samba-for-rhel-6-server-rpms
rhs-3-for-rhel-6-server-rpms


Actual results:
This will upgrade libtdb & some other libraries from gluster repo. 

libldb-1.2.2-3.el6rhs.x86_64 
libtalloc-2.1.10-4.el6rhs.x86_64 
libtdb-1.3.15-3.el6rhs.x86_64 
libtevent-0.9.34-2.el6rhs.x86_64

resulting in sssd crashing. Even coredump cannot extract completely, Check thread 1. 

Expected results:
SSSD should be compatible with libraries shipped in latest layered subscription.


Additional info:
This was similar case in RHEL7.4 but upgrading to RHEL7.5 fixed this issue.

I understand that sssd-1.13.3-58.el6_9.x86_64 is compiled with libtdb-1.3.8-3.el6_8.2.x86_64 but installing gluster packages upgrade libtdb to libtdb-1.3.15-3.el6rhs.x86_64 & it crashes SSSD.

Downgrading libtdb is not an option as it tries to remove gluster packages.

--- Additional comment from Sumit Bose on 2018-04-19 18:43:04 IST ---

The only solution I can see is that RHS team rebuilds the current version of SSSD in RHEL6 in their channel against the newer library versions. But naming might be tricky. 

HTH

bye,
Sumit

--- Additional comment from Martin Kosek on 2018-06-18 16:53:01 IST ---

Summit or Jakub, I think we should close this bug as WONTFIX/CANTFIX as this really needs to be addressed in RHS product by shipping rebuilt SSSD in their tree. Fortunately, this is RHEL-6 and we do not plan to touch SSSD much more.

--- Additional comment from Jakub Hrozek on 2018-06-18 16:56:48 IST ---

I don't think we can solve this. SSSD depends on a version of the tdb and ldb libraries that are shipped with RHEL. The storage product ships their own which are often ABI-incompatible.

So short of shipping a version of SSSD that is being continuously rebuild against what the storage product ships, I don't know how to solve this.

--- Additional comment from Sumit Bose on 2018-06-18 17:18:20 IST ---

(In reply to Jakub Hrozek from comment #3)
> I don't think we can solve this. SSSD depends on a version of the tdb and
> ldb libraries that are shipped with RHEL. The storage product ships their
> own which are often ABI-incompatible.
> 
> So short of shipping a version of SSSD that is being continuously rebuild
> against what the storage product ships, I don't know how to solve this.

As an alternative Samba shipped with the storage product can use a private version of libldb and not replace the system library.

--- Additional comment from Martin Kosek on 2018-06-18 17:40:31 IST ---

Given above, the solution needs to be developed in RHS Layered Product, rather than RHEL itself. Closing as CANTFIX.

Comment 5 Bipin Kunal 2018-06-26 11:43:03 UTC
@Rejy: Please have a look at comment #4 and let me know how can we address this issue?

Comment 27 errata-xmlrpc 2018-09-04 06:57:17 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2018:2612


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