bug-buddy can block 'x-session-manager', preventing new X processes

Bug #70368 reported by Paul Sladen
4
Affects Status Importance Assigned to Milestone
Bug Buddy
Fix Released
Medium
bug-buddy (Ubuntu)
Fix Released
High
Ubuntu Desktop Bugs

Bug Description

[Unfortunately, 1.5hours worth of debugging to the cause of this problem was lost after 'kill -9 `pidof bug-buddy...gnome-session-manager`, which then took down the X server].

Bug-buddy can block 'x-session-manager'; the following is what the straces/gdb dumps showed from 5minutes ago:

New processes attempt to connect to the Session Manager using:

  /tmp/.ICE-unix/NNNN

New processes start by writing a request to this socket and then blocking, awaiting the Session Manager to respond. However, the SM is locked:

  waitpid(`pidof gnome-session-manager`, <unfinished>

and the GNOME Session Manager instance blocked:

  waitpid(`pidof bug-buddy`, <unfinished>

This instance of 'bug-buddy' was the one watching 'gnome-session-manager' was blocking on:

  read(24, <unfinished>

I do not know what Socket 24 was supposed, or was, connected to.

So there seems to be some cyclic relationship between the g-s-m and an instance of bug-buddy watching over 'g-s-m'; the end result of which is a race-condition where 'x-session-manager' is left completely blocked.

Revision history for this message
Daniel Holbach (dholbach) wrote :

Thanks for the report, Paul.

Somebody of the team should forward this upstream.

Changed in bug-buddy:
importance: Undecided → Medium
Dan Winship (danw-gnome)
Changed in bug-buddy:
status: Unconfirmed → Unknown
Changed in bug-buddy:
assignee: nobody → desktop-bugs
importance: Medium → High
status: Unconfirmed → Confirmed
Revision history for this message
Allison Karlitskaya (desrt) wrote :

I had this problem too and just filed directly upstream.

Dan Winship has proposed a fix to bug buddy to make it avoid registering for session management (thus breaking the loop).

Changed in bug-buddy:
status: Unknown → Unconfirmed
Revision history for this message
Sebastien Bacher (seb128) wrote :

fixed upstream

Changed in bug-buddy:
status: Confirmed → Fix Committed
Changed in bug-buddy:
status: Unconfirmed → Fix Released
Revision history for this message
Sebastien Bacher (seb128) wrote :

That upload fixes the bug:

 bug-buddy (2.17.4-0ubuntu1) feisty; urgency=low
 .
   * New upstream version:
     - Don't register with the session manager (Ubuntu: #70368)
     - Fix invalid read in the gmenu code
     - Search for desktop files in the autostart dir too
     - Compiler warning fixes
     - String fixes
     - Fix "looks for non-existing Desktop when saving" (Ubuntu: #55131)
     - Fix "Doesn't display crashed program name" (Ubuntu: #62592)
   * debian/control.in:
     - package maintained by the Ubuntu Desktop Team

Changed in bug-buddy:
status: Fix Committed → Fix Released
Changed in bug-buddy:
importance: Unknown → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.