#1035 SSSD can crash due to dbus server removing a UNIX socket
Closed: Duplicate None Opened 12 years ago by sgallagh.

https://bugzilla.redhat.com/show_bug.cgi?id=743841

Description of problem:
SSSD components comunicate using a low-level DBus protocol. On initializing the server dbus is given a filename that represents a known interface and creates the socket When server shuts down, it calls a dbus cleanup function which removes the socket.

Normally, this is OK, problem arise when:
1) a sssd component (a back end for example) is stopped
2) monitor detects it does not respond, kills it and spawns a new one
3) the old back end calls its shutdown function /after/ the new one has started
4) dbus removes the named socket


Version-Release number of selected component (if applicable):
sssd-1.5.1-53

How reproducible:
always

Steps to Reproduce:
1. start sssd
2. killall -STOP sssd_be
3. wait until monitor sends TERM to sssd_be and spawns a new one
4. killall -CONT sssd_be
5. getent passwd foobar

Actual results:
the socket /var/lib/sss/pipes/private/sbus-dp_$domain is removed
sssd_nss crashes

Expected results:
sssd only reconnects to the new back end, the old back end shuts down gracefully

Additional info:
The crash was found by Kaushik Banerjee

Duplicate of https://fedorahosted.org/sssd/ticket/1034

coverity: =>
description: https://bugzilla.redhat.com/show_bug.cgi?id=743841

{{{
Description of problem:
SSSD components comunicate using a low-level DBus protocol. On initializing the server dbus is given a filename that represents a known interface and creates the socket When server shuts down, it calls a dbus cleanup function which removes the socket.

Normally, this is OK, problem arise when:
1) a sssd component (a back end for example) is stopped
2) monitor detects it does not respond, kills it and spawns a new one
3) the old back end calls its shutdown function /after/ the new one has started
4) dbus removes the named socket

Version-Release number of selected component (if applicable):
sssd-1.5.1-53

How reproducible:
always

Steps to Reproduce:
1. start sssd
2. killall -STOP sssd_be
3. wait until monitor sends TERM to sssd_be and spawns a new one
4. killall -CONT sssd_be
5. getent passwd foobar

Actual results:
the socket /var/lib/sss/pipes/private/sbus-dp_$domain is removed
sssd_nss crashes

Expected results:
sssd only reconnects to the new back end, the old back end shuts down gracefully

Additional info:
The crash was found by Kaushik Banerjee
}}}
=> https://bugzilla.redhat.com/show_bug.cgi?id=743841

{{{
Description of problem:
SSSD components comunicate using a low-level DBus protocol. On initializing the server dbus is given a filename that represents a known interface and creates the socket When server shuts down, it calls a dbus cleanup function which removes the socket.

Normally, this is OK, problem arise when:
1) a sssd component (a back end for example) is stopped
2) monitor detects it does not respond, kills it and spawns a new one
3) the old back end calls its shutdown function /after/ the new one has started
4) dbus removes the named socket

Version-Release number of selected component (if applicable):
sssd-1.5.1-53

How reproducible:
always

Steps to Reproduce:
1. start sssd
2. killall -STOP sssd_be
3. wait until monitor sends TERM to sssd_be and spawns a new one
4. killall -CONT sssd_be
5. getent passwd foobar

Actual results:
the socket /var/lib/sss/pipes/private/sbus-dp_$domain is removed
sssd_nss crashes

Expected results:
sssd only reconnects to the new back end, the old back end shuts down gracefully

Additional info:
The crash was found by Kaushik Banerjee
}}}

patch: => 0
resolution: => duplicate
rhbz: =>
status: new => closed
tests: => 0
testsupdated: => 0
upgrade: => 0

Metadata Update from @sgallagh:
- Issue set to the milestone: SSSD 1.5.14

7 years ago

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/2077

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.

Login to comment on this ticket.

Metadata