#382 sssd_be segfault
Closed: Fixed Opened by sejeff.

Whenever sssd_be is sent a SIGTERM you get this traceback and a nice segfault:

Using: sssd-1.0.0-1

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff75a17db in ldb_msg_find_element () from /usr/lib64/libldb.so.0
(gdb) bt full
#0  0x00007ffff75a17db in ldb_msg_find_element () from /usr/lib64/libldb.so.0
No symbol table info available.
#1  0x00007ffff29f2167 in mbof_add_operation () at ldb_modules/memberof.c:751
No locals.
#2  mbof_next_add_callback (req=<value optimized out>, ares=0x0) at ldb_modules/memberof.c:640
    addop = (struct mbof_add_operation *) 0xa17ee0
    add_ctx = <value optimized out>
    ldb = (struct ldb_context *) 0x0
    ctx = (struct mbof_ctx *) 0x6f4390
    ret = <value optimized out>
#3  0x00007ffff75ac4de in ?? () from /usr/lib64/libldb.so.0
No symbol table info available.
#4  0x00007ffff79cf601 in tevent_common_loop_timer_delay (ev=0x642a40) at tevent_timed.c:254
    current_time = {tv_sec = 0, tv_usec = 0}
    te = (struct tevent_timer *) 0xa22090
#5  0x00007ffff79d13bf in std_event_loop_once (ev=0x642a40, location=<value optimized out>) at tevent_standard.c:537
    tval = {tv_sec = 0, tv_usec = 0}
#6  0x00007ffff79ce790 in _tevent_loop_once (ev=0x642a40, location=0x43c72f "util/server.c:428") at tevent.c:490
    ret = <value optimized out>
    nesting_stack_ptr = (void *) 0x0
#7  0x00007ffff79ce82b in tevent_common_loop_wait (ev=0x642a40, location=0x43c72f "util/server.c:428") at tevent.c:591
    ret = 0
#8  0x0000000000430661 in server_loop (main_ctx=0x642b70) at util/server.c:428
No locals.
#9  0x000000000040d090 in main (argc=<value optimized out>, argv=<value optimized out>)
    at providers/data_provider_be.c:1188
    opt = <value optimized out>
    pc = (struct poptContext_s *) 0x6425e0
    be_domain = 0x642990 "LDAP"
    srv_name = <value optimized out>
    conf_entry = <value optimized out>
    main_ctx = (struct main_context *) 0x642b70
    ret = 0
    long_options = {{longName = 0x0, shortName = 0 '\0', argInfo = 4, arg = 0x641780, val = 0, 
    descrip = 0x43477c "Help options:", argDescrip = 0x0}, {longName = 0x43478a "debug-level", shortName = 100 'd', 
    argInfo = 2, arg = 0x641860, val = 0, descrip = 0x434796 "Debug level", argDescrip = 0x0}, {
    longName = 0x4347a2 "debug-to-files", shortName = 102 'f', argInfo = 0, arg = 0x641868, val = 0, 
    descrip = 0x4352a8 "Send the debug output to files instead of stderr", argDescrip = 0x0}, {
    longName = 0x4347b1 "debug-timestamps", shortName = 0 '\0', argInfo = 0, arg = 0x641864, val = 0, 
    descrip = 0x4347c2 "Add debug timestamps", argDescrip = 0x0}, {longName = 0x4347d7 "domain", shortName = 0 '\0', 
    argInfo = 1, arg = 0x7fffffffec68, val = 0, descrip = 0x4352e0 "Domain of the information provider (mandatory)", 
    argDescrip = 0x0}, {longName = 0x0, shortName = 0 '\0', argInfo = 0, arg = 0x0, val = 0, descrip = 0x0, 
    argDescrip = 0x0}}
    __FUNCTION__ = "main"
[sssd]
config_file_version = 2
domains = LDAP
reconnection_retries = 3
sbus_timeout = 30
services = nss, pam
[nss]
filter_groups = root
filter_users = root
reconnection_retries = 3
[pam]
reconnection_retries = 3
[domain/LDAP]
auth_provider = ldap
cache_credentials = TRUE
chpass_provider = ldap
enumerate = TRUE
id_provider = ldap
ldap_group_search_base = ou=Groups,o=int
# Ignore ldap pwd policies so password changes work with shadow* attributes in ldap
ldap_pwd_policy = none
ldap_tls_reqcert = never
ldap_uri = ldap://ldap.site1.int ldap://ldap.site2.int ldap://ldap.site3.int
ldap_user_search_base = o=int
min_id = 1
timeout = 60

Fields changed

description: Whenever sssd_be is sent a SIGTERM you get this traceback and a nice segfault:

Using: sssd-1.0.0-1

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff75a17db in ldb_msg_find_element () from /usr/lib64/libldb.so.0
(gdb) bt full

0 0x00007ffff75a17db in ldb_msg_find_element () from /usr/lib64/libldb.so.0

No symbol table info available.

1 0x00007ffff29f2167 in mbof_add_operation () at ldb_modules/memberof.c:751

No locals.

2 mbof_next_add_callback (req=, ares=0x0) at ldb_modules/memberof.c:640

addop = (struct mbof_add_operation *) 0xa17ee0
add_ctx = <value optimized out>
ldb = (struct ldb_context *) 0x0
ctx = (struct mbof_ctx *) 0x6f4390
ret = <value optimized out>

3 0x00007ffff75ac4de in ?? () from /usr/lib64/libldb.so.0

No symbol table info available.

4 0x00007ffff79cf601 in tevent_common_loop_timer_delay (ev=0x642a40) at tevent_timed.c:254

current_time = {tv_sec = 0, tv_usec = 0}
te = (struct tevent_timer *) 0xa22090

5 0x00007ffff79d13bf in std_event_loop_once (ev=0x642a40, location=) at tevent_standard.c:537

tval = {tv_sec = 0, tv_usec = 0}

6 0x00007ffff79ce790 in _tevent_loop_once (ev=0x642a40, location=0x43c72f "util/server.c:428") at tevent.c:490

ret = <value optimized out>
nesting_stack_ptr = (void *) 0x0

7 0x00007ffff79ce82b in tevent_common_loop_wait (ev=0x642a40, location=0x43c72f "util/server.c:428") at tevent.c:591

ret = 0

8 0x0000000000430661 in server_loop (main_ctx=0x642b70) at util/server.c:428

No locals.

9 0x000000000040d090 in main (argc=, argv=)

at providers/data_provider_be.c:1188
opt = <value optimized out>
pc = (struct poptContext_s *) 0x6425e0
be_domain = 0x642990 "LDAP"
srv_name = <value optimized out>
conf_entry = <value optimized out>
main_ctx = (struct main_context *) 0x642b70
ret = 0
long_options = {{longName = 0x0, shortName = 0 '\0', argInfo = 4, arg = 0x641780, val = 0, 
descrip = 0x43477c "Help options:", argDescrip = 0x0}, {longName = 0x43478a "debug-level", shortName = 100 'd', 
argInfo = 2, arg = 0x641860, val = 0, descrip = 0x434796 "Debug level", argDescrip = 0x0}, {
longName = 0x4347a2 "debug-to-files", shortName = 102 'f', argInfo = 0, arg = 0x641868, val = 0, 
descrip = 0x4352a8 "Send the debug output to files instead of stderr", argDescrip = 0x0}, {
longName = 0x4347b1 "debug-timestamps", shortName = 0 '\0', argInfo = 0, arg = 0x641864, val = 0, 
descrip = 0x4347c2 "Add debug timestamps", argDescrip = 0x0}, {longName = 0x4347d7 "domain", shortName = 0 '\0', 
argInfo = 1, arg = 0x7fffffffec68, val = 0, descrip = 0x4352e0 "Domain of the information provider (mandatory)", 
argDescrip = 0x0}, {longName = 0x0, shortName = 0 '\0', argInfo = 0, arg = 0x0, val = 0, descrip = 0x0, 
argDescrip = 0x0}}
__FUNCTION__ = "main"

[sssd]
config_file_version = 2
domains = LDAP
reconnection_retries = 3
sbus_timeout = 30
services = nss, pam

[nss]
filter_groups = root
filter_users = root
reconnection_retries = 3

[pam]
reconnection_retries = 3

[domain/LDAP]
auth_provider = ldap
cache_credentials = TRUE
chpass_provider = ldap
enumerate = TRUE
id_provider = ldap
ldap_group_search_base = ou=Groups,o=int

Ignore ldap pwd policies so password changes work with shadow* attributes in ldap

ldap_pwd_policy = none
ldap_tls_reqcert = never
ldap_uri = ldap://ldap.site1.int ldap://ldap.site2.int ldap://ldap.site3.int
ldap_user_search_base = o=int
min_id = 1
timeout = 60 => Whenever sssd_be is sent a SIGTERM you get this traceback and a nice segfault:

Using: sssd-1.0.0-1
{{{
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff75a17db in ldb_msg_find_element () from /usr/lib64/libldb.so.0
(gdb) bt full

0 0x00007ffff75a17db in ldb_msg_find_element () from /usr/lib64/libldb.so.0

No symbol table info available.

1 0x00007ffff29f2167 in mbof_add_operation () at ldb_modules/memberof.c:751

No locals.

2 mbof_next_add_callback (req=, ares=0x0) at ldb_modules/memberof.c:640

addop = (struct mbof_add_operation *) 0xa17ee0
add_ctx = <value optimized out>
ldb = (struct ldb_context *) 0x0
ctx = (struct mbof_ctx *) 0x6f4390
ret = <value optimized out>

3 0x00007ffff75ac4de in ?? () from /usr/lib64/libldb.so.0

No symbol table info available.

4 0x00007ffff79cf601 in tevent_common_loop_timer_delay (ev=0x642a40) at tevent_timed.c:254

current_time = {tv_sec = 0, tv_usec = 0}
te = (struct tevent_timer *) 0xa22090

5 0x00007ffff79d13bf in std_event_loop_once (ev=0x642a40, location=) at tevent_standard.c:537

tval = {tv_sec = 0, tv_usec = 0}

6 0x00007ffff79ce790 in _tevent_loop_once (ev=0x642a40, location=0x43c72f "util/server.c:428") at tevent.c:490

ret = <value optimized out>
nesting_stack_ptr = (void *) 0x0

7 0x00007ffff79ce82b in tevent_common_loop_wait (ev=0x642a40, location=0x43c72f "util/server.c:428") at tevent.c:591

ret = 0

8 0x0000000000430661 in server_loop (main_ctx=0x642b70) at util/server.c:428

No locals.

9 0x000000000040d090 in main (argc=, argv=)

at providers/data_provider_be.c:1188
opt = <value optimized out>
pc = (struct poptContext_s *) 0x6425e0
be_domain = 0x642990 "LDAP"
srv_name = <value optimized out>
conf_entry = <value optimized out>
main_ctx = (struct main_context *) 0x642b70
ret = 0
long_options = {{longName = 0x0, shortName = 0 '\0', argInfo = 4, arg = 0x641780, val = 0, 
descrip = 0x43477c "Help options:", argDescrip = 0x0}, {longName = 0x43478a "debug-level", shortName = 100 'd', 
argInfo = 2, arg = 0x641860, val = 0, descrip = 0x434796 "Debug level", argDescrip = 0x0}, {
longName = 0x4347a2 "debug-to-files", shortName = 102 'f', argInfo = 0, arg = 0x641868, val = 0, 
descrip = 0x4352a8 "Send the debug output to files instead of stderr", argDescrip = 0x0}, {
longName = 0x4347b1 "debug-timestamps", shortName = 0 '\0', argInfo = 0, arg = 0x641864, val = 0, 
descrip = 0x4347c2 "Add debug timestamps", argDescrip = 0x0}, {longName = 0x4347d7 "domain", shortName = 0 '\0', 
argInfo = 1, arg = 0x7fffffffec68, val = 0, descrip = 0x4352e0 "Domain of the information provider (mandatory)", 
argDescrip = 0x0}, {longName = 0x0, shortName = 0 '\0', argInfo = 0, arg = 0x0, val = 0, descrip = 0x0, 
argDescrip = 0x0}}
__FUNCTION__ = "main"

}}}

{{{
[sssd]
config_file_version = 2
domains = LDAP
reconnection_retries = 3
sbus_timeout = 30
services = nss, pam

[nss]
filter_groups = root
filter_users = root
reconnection_retries = 3

[pam]
reconnection_retries = 3

[domain/LDAP]
auth_provider = ldap
cache_credentials = TRUE
chpass_provider = ldap
enumerate = TRUE
id_provider = ldap
ldap_group_search_base = ou=Groups,o=int

Ignore ldap pwd policies so password changes work with shadow* attributes in ldap

ldap_pwd_policy = none
ldap_tls_reqcert = never
ldap_uri = ldap://ldap.site1.int ldap://ldap.site2.int ldap://ldap.site3.int
ldap_user_search_base = o=int
min_id = 1
timeout = 60
}}}

And with the samba4 debuginfo:

(gdb) c
Continuing.
Program received signal SIGSEGV, Segmentation fault.
ldb_msg_find_element (msg=0x0, attr_name=0x7ffff29f5554 "member") at common/ldb_msg.c:51
51      for (i=0;i<msg->num_elements;i++) {
(gdb) bt full
#0  ldb_msg_find_element (msg=0x0, attr_name=0x7ffff29f5554 "member") at common/ldb_msg.c:51
    i = <value optimized out>
#1  0x00007ffff29f2167 in mbof_add_operation () at ldb_modules/memberof.c:751
No locals.
#2  mbof_next_add_callback (req=<value optimized out>, ares=0x0) at ldb_modules/memberof.c:640
    addop = (struct mbof_add_operation *) 0xa01b40
    add_ctx = <value optimized out>
    ldb = (struct ldb_context *) 0x0
    ctx = (struct mbof_ctx *) 0x8a27c0
    ret = <value optimized out>
#3  0x00007ffff75ac4de in ltdb_callback (ev=<value optimized out>, te=<value optimized out>, t={tv_sec = 0, tv_usec = 0}, 
    private_data=<value optimized out>) at ldb_tdb/ldb_tdb.c:1129
    ctx = <value optimized out>
    ret = 0
#4  0x00007ffff79cf601 in tevent_common_loop_timer_delay (ev=0x642a40) at tevent_timed.c:254
    current_time = {tv_sec = 0, tv_usec = 0}
    te = (struct tevent_timer *) 0xa22430
#5  0x00007ffff79d13bf in std_event_loop_once (ev=0x642a40, location=<value optimized out>) at tevent_standard.c:537
    tval = {tv_sec = 0, tv_usec = 0}
#6  0x00007ffff79ce790 in _tevent_loop_once (ev=0x642a40, location=0x43c72f "util/server.c:428") at tevent.c:490
    ret = <value optimized out>
    nesting_stack_ptr = (void *) 0x0
#7  0x00007ffff79ce82b in tevent_common_loop_wait (ev=0x642a40, location=0x43c72f "util/server.c:428") at tevent.c:591
---Type <return> to continue, or q <return> to quit---
    ret = 0
#8  0x0000000000430661 in server_loop (main_ctx=0x642b70) at util/server.c:428
No locals.
#9  0x000000000040d090 in main (argc=<value optimized out>, argv=<value optimized out>) at providers/data_provider_be.c:1188
    opt = <value optimized out>
    pc = (struct poptContext_s *) 0x6425e0
    be_domain = 0x642990 "LDAP"
    srv_name = <value optimized out>
    conf_entry = <value optimized out>
    main_ctx = (struct main_context *) 0x642b70
    ret = 0
    long_options = {{longName = 0x0, shortName = 0 '\0', argInfo = 4, arg = 0x641780, val = 0, descrip = 0x43477c "Help options:", 
    argDescrip = 0x0}, {longName = 0x43478a "debug-level", shortName = 100 'd', argInfo = 2, arg = 0x641860, val = 0, 
    descrip = 0x434796 "Debug level", argDescrip = 0x0}, {longName = 0x4347a2 "debug-to-files", shortName = 102 'f', argInfo = 0, arg = 0x641868, 
    val = 0, descrip = 0x4352a8 "Send the debug output to files instead of stderr", argDescrip = 0x0}, {longName = 0x4347b1 "debug-timestamps", 
    shortName = 0 '\0', argInfo = 0, arg = 0x641864, val = 0, descrip = 0x4347c2 "Add debug timestamps", argDescrip = 0x0}, {
    longName = 0x4347d7 "domain", shortName = 0 '\0', argInfo = 1, arg = 0x7fffffffec68, val = 0, 
    descrip = 0x4352e0 "Domain of the information provider (mandatory)", argDescrip = 0x0}, {longName = 0x0, shortName = 0 '\0', argInfo = 0, 
    arg = 0x0, val = 0, descrip = 0x0, argDescrip = 0x0}}
    __FUNCTION__ = "main"
(gdb)

Fixed by 71585aa7e7cfb414530dc41783669a1566099890

fixedin: => 1.0.2
milestone: NEEDS_TRIAGE => SSSD 1.0.2
priority: major => blocker
resolution: => fixed
status: new => closed

Fields changed

rhbz: => 0

Metadata Update from @sejeff:
- Issue set to the milestone: SSSD 1.0.2

SSSD is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in SSSD's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/SSSD/sssd/issues/1424

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Metadata