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.
@Rejy: Please have a look at comment #4 and let me know how can we address this issue?
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