[Pkg-utopia-maintainers] Bug#680027: in early start stage, dbus_bus_get cause application using dbus crash when start

Simon McVittie smcv at debian.org
Tue Jul 3 18:42:56 UTC 2012


On 03/07/12 09:59, Simon McVittie wrote:
> On 03/07/12 02:29, YunQiang Su wrote:
>> https://bugs.freedesktop.org/show_bug.cgi?id=51657
> 
> I've attached a patch to that bug which will avoid the crash

The reason this appeared to regress in 1.6.2, despite the wrong
assertion being much older, is that assertions are not normally enabled
in a production build. In 1.6.2 they are (wrongly) enabled by default.
I'll upload 1.6.2-2 to fix that.

Running fcitx before dbus-launch has started the dbus-daemon will not
actually *work*, though, because dbus-launch --autolaunch appears to be
broken when run from Xsession.d by fcitx. This is not a regression in
1.6.2: in my testing on a wheezy/i386 virtual machine, it behaves the
same in 1.6.0. This is likely to need more investigation.

The problem you have in im-config is that you want to run your X session
hook before dbus-launch (so that when you set environment variables
there, child processes of the dbus-daemon get them), but you also want
to run fcitx from your X session hook - and when you do that, it starts
before the dbus-daemon, and fails to work.

Unfortunately, if autolaunching did work as intended, running fcitx with
D-Bus integration at that point in X session startup would still not be
correct! It would start a new autolaunched dbus-daemon at that point in
Xsession.d which would be used by the session, and any services
activated by that dbus-daemon would not inherit environment variables
set by later scripts in Xsession.d, like consolekit, gpg-agent,
ssh-agent and qt-a11y. This would cause bugs similar to
<https://bugs.launchpad.net/ubuntu/+source/dbus/+bug/807614> and
<https://bugs.launchpad.net/unity/+bug/809900>.

    S





More information about the Pkg-utopia-maintainers mailing list