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