Bug 883336

Summary: sssd crashes during start if id_provider is not mentioned
Product: Red Hat Enterprise Linux 6 Reporter: Kaushik Banerjee <kbanerje>
Component: sssdAssignee: Jakub Hrozek <jhrozek>
Status: CLOSED ERRATA QA Contact: Kaushik Banerjee <kbanerje>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.4CC: dpal, grajaiya, jgalipea, okos, pbrezina
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: sssd-1.9.2-37.el6 Doc Type: Bug Fix
Doc Text:
No documentation needed.
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-02-21 09:41:53 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 886216    

Description Kaushik Banerjee 2012-12-04 10:45:46 UTC
Description of problem:
sssd crashes during start if id_provider is not mentioned

Version-Release number of selected component (if applicable):
sssd-1.9.2-30.el6

How reproducible:
Always

Steps to Reproduce:
1. Remove the line "id_provider=..." from domain section of sssd.conf

2. Start sssd
# service sssd start
Starting sssd: /bin/bash: line 1:  3096 Segmentation fault      (core dumped) /usr/sbin/sssd -f -D
                                                           [FAILED]

  
Actual results:
sssd crashes

Expected results:
sssd should not crash. Instead should fail to start and appropriate error should be logged in sssd.log

Additional info:
Backtrace:
# gdb --core=coredump /usr/sbin/sssd --quiet -ex "thread apply all bt full" -ex "quit"
Core was generated by `/usr/sbin/sssd -f -D'.
Program terminated with signal 11, Segmentation fault.
#0  __strcasecmp_l_sse2 () at ../sysdeps/x86_64/strcmp.S:213
213		movlpd	(%rdi), %xmm1

Thread 1 (Thread 0x7f8a3a858700 (LWP 2878)):
#0  __strcasecmp_l_sse2 () at ../sysdeps/x86_64/strcmp.S:213
No locals.
#1  0x000000000041052f in add_implicit_services (ctx=0x1e59470)
    at src/monitor/monitor.c:858
        ret = <value optimized out>
        tmp_ctx = 0x1e5eb70
        c = <value optimized out>
        id_provider = 0x0
        domain_names = 0x1e72cf0
        conf_path = <value optimized out>
        add_pac = <value optimized out>
#2  get_monitor_config (ctx=0x1e59470) at src/monitor/monitor.c:938
        ret = <value optimized out>
        timeout_seconds = 10
        badsrv = 0x0
        i = <value optimized out>
        __FUNCTION__ = "get_monitor_config"
Missing separate debuginfos, use: debuginfo-install cyrus-sasl-lib-2.1.23-13.el6.x86_64 nss-softokn-freebl-3.12.9-11.el6.x86_64 zlib-1.2.3-29.el6.x86_64
---Type <return> to continue, or q <return> to quit---
#3  0x00000000004131c3 in load_configuration (argc=31822968, 
    argv=<value optimized out>) at src/monitor/monitor.c:1610
        ret = 0
        ctx = 0x1e59470
        cdb_file = 0x0
#4  main (argc=31822968, argv=<value optimized out>)
    at src/monitor/monitor.c:2755
        opt = <value optimized out>
        pc = <value optimized out>
        opt_daemon = 1
        opt_interactive = 0
        opt_version = 0
        opt_config_file = 0x0
        config_file = 0x1e59390 "/etc/sssd/sssd.conf"
        flags = 5
        main_ctx = <value optimized out>
        tmp_ctx = 0x1e59330
        monitor = <value optimized out>
        ret = <value optimized out>
        uid = <value optimized out>
        long_options = {{longName = 0x0, shortName = 0 '\000', argInfo = 4, 
            arg = 0x669840, val = 0, descrip = 0x458863 "Help options:", 
            argDescrip = 0x0}, {longName = 0x458871 "debug-level", 
---Type <return> to continue, or q <return> to quit---
            shortName = 100 'd', argInfo = 2, arg = 0x669920, val = 0, 
            descrip = 0x45880a "Debug level", argDescrip = 0x0}, {
            longName = 0x457c54 "debug-to-files", shortName = 102 'f', 
            argInfo = 0, arg = 0x669924, val = 0, 
            descrip = 0x459878 "Send the debug output to files instead of stderr", argDescrip = 0x0}, {longName = 0x45887d "debug-timestamps", 
            shortName = 0 '\000', argInfo = 2, arg = 0x669698, val = 0, 
            descrip = 0x458816 "Add debug timestamps", argDescrip = 0x0}, {
            longName = 0x45888e "debug-microseconds", shortName = 0 '\000', 
            argInfo = 2, arg = 0x66969c, val = 0, 
            descrip = 0x4598b0 "Show timestamps with microseconds", 
            argDescrip = 0x0}, {longName = 0x4588a1 "daemon", 
            shortName = 68 'D', argInfo = 0, arg = 0x7fff2f5bc34c, val = 0, 
            descrip = 0x45882b "Become a daemon (default)", argDescrip = 0x0}, 
          {longName = 0x4588a8 "interactive", shortName = 105 'i', 
            argInfo = 0, arg = 0x7fff2f5bc348, val = 0, 
            descrip = 0x4598d8 "Run interactive (not a daemon)", 
            argDescrip = 0x0}, {longName = 0x45b2bf "config", 
            shortName = 99 'c', argInfo = 1, arg = 0x7fff2f5bc338, val = 0, 
            descrip = 0x4598f8 "Specify a non-default config file", 
            argDescrip = 0x0}, {longName = 0x45af2b "version", 
            shortName = 0 '\000', argInfo = 0, arg = 0x7fff2f5bc344, val = 0, 
            descrip = 0x458845 "Print version number and exit", 
---Type <return> to continue, or q <return> to quit---
            argDescrip = 0x0}, {longName = 0x0, shortName = 0 '\000', 
            argInfo = 0, arg = 0x0, val = 0, descrip = 0x0, argDescrip = 0x0}}
        __FUNCTION__ = "main"

Comment 1 Pavel Březina 2012-12-04 10:48:00 UTC
Upstream ticket:
https://fedorahosted.org/sssd/ticket/1686

Comment 5 Kaushik Banerjee 2012-12-10 14:30:26 UTC
Verified in version 1.9.2-37.el6

Beaker automation run output:

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: [   LOG    ] :: SSSD_mis-configuration_007 Required Key provider Not Defined
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Stopping sssd: [  OK  ]
:: [   PASS   ] :: Stopping service
Starting sssd: [FAILED]
[FAILED]
:: [   PASS   ] :: Starting services failed, as expected.
:: [   PASS   ] :: File /var/run/sssd.pid should not exist
sssd is stopped
:: [   PASS   ] :: SSSD service is stopped, as expected.
(Mon Dec 10 06:32:58:729233 2012) [sssd] [confdb_get_domain_internal] (0x0010): Domain [LOCAL] does not specify an ID provider, disabling!
:: [   PASS   ] :: File '/var/log/sssd/sssd.log' should contain 'does not specify an ID provider'
'8565dd62-96ee-42ef-a111-1e970a860c48'
SSSD-mis-configuration-007-Required-Key-provider-Not-Defined result: PASS

Comment 6 errata-xmlrpc 2013-02-21 09:41:53 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.

http://rhn.redhat.com/errata/RHSA-2013-0508.html