gnome-settings-daemon can't connect to D-Bus and eats CPU on ia64 due to -Wl,-z-defs

Émeric Maschino emeric.maschino at gmail.com
Sun Nov 13 21:53:52 UTC 2011


2011/11/12 Jonathan Nieder <jrnieder at gmail.com>:
> Ok, so we still have some more steps before this is phrased as a binutils
> bug.
>
> Based on the files you sent, adding -Wl,-z,defs to the command line
> changes the content of the following files:
>
>        gnome-settings-daemon/.libs/libgsd-profile.a
>        plugins/a11y-keyboard/.libs/liba11y-keyboard.{a,so}
>        plugins/a11y-settings/.libs/liba11y-settings.{a,so}
>        plugins/automount/.libs/libautomount.{a,so}
>        plugins/background/.libs/libbackground.{a,so}
>        plugins/clipboard/.libs/libclipboard.{a,so}
>        plugins/common/.libs/libcommon.a
>        plugins/dummy/.libs/libdummy.{a,so}
>        plugins/gconf/.libs/libgconf.{a,so}
>        plugins/housekeeping/.libs/libhousekeeping.{a,so}
>        plugins/keybindings/.libs/libkeybindings.{a,so}
>        plugins/keyboard/.libs/libkeyboard.{a,so}
>        plugins/media-keys/cut-n-paste/.libs/libgvc.{a,so}
>        plugins/media-keys/.libs/libmedia-keys.{a,so}
>        plugins/mouse/.libs/libmouse.{a,so}
>        plugins/print-notifications/.libs/libprint-notifications.{a,so}
>        plugins/smartcard/.libs/libsmartcard.{a,so}
>        plugins/sound/.libs/libsound.{a,so}
>        plugins/updates/.libs/libupdates.{a,so}
>        plugins/wacom/.libs/libwacom.{a,so}
>        plugins/xrandr/.libs/libxrandr.{a,so}
>        plugins/xsettings/.libs/libxsettings.{a,so}
>
> However, the two versions of libgsd-profile.a, for example, are
> actually the same after you extract them with "ar x" (of course).  It
> is the timestamps and details like that that seem to be different.
> (I don't think ld even entered into the picture.)
>
> So I suspect it would be most fruitful to find out
>
>  (1) what code is actually running when g-s-d gets stuck
>  (2) which library that is in
>  (3) whether re-linking _just_ that library without "-z defs"
>     makes the symptoms go away
>
> and if (3), to provide
>
>  (i)  a complete set of input files and a single "ld" command that _I_
>      _can_ _type_ to produce the _single_ library in question.  When
>      I include "-z defs" it should be faulty, and when I do not
>      include "-z defs" it should not be faulty.
>
>  (ii) a description of how that library can be seen to be faulty ---
>      for example, "when we call such-and-such function, it hangs, and
>      swapping in the non-faulty version avoids that".
>
> Until the bug has been so reduced, looking at what binutils does
> is just not going to help much.
>
> Thanks for your patience, and sorry for the trouble.

Hi Jonathan,

Thank you for your help anyway.

I made some progress today: it appears that the issue isn't due to the
gnome-settings-daemon binary per se, but to one or more of the
plugins.

Indeed, if I reinstall the (broken) gnome-settings-daemon 3.0.3
currently in Testing repository, GDM3 cannot start properly. Now, if I
replace some of the plugins in /usr/lib/gnome-settings-daemon-3.0 by
the locally-recompiled versions without the -z defs flag, GDM3 start
up normally. The offending plugins needed to be replaced are:
- liba11y-keyboard.so
- libbackgound.so
- libmedia-keys.so
- libsound.so
- libxrandr.so
- libxsettings.so.

However, simply replacing these 6 plugins doesn't allow me to
successfully open a GNOME3 session. I imagine that additional plugins
are needed, but I can't isolate them at the moment. And
~/.xsession-errors is not helpful.

     Émeric



More information about the pkg-gnome-maintainers mailing list