[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#470901: xserver-xorg-core: Uses sync dbus calls through the libhal API



On Mon, Aug 25, 2008 at 08:12:33PM +0200, Julien Cristau wrote:
> (for some reason i never saw this report..)
> 
> On Fri, Mar 14, 2008 at 13:01:42 +0100, Sjoerd Simons wrote:
> 
> >  I just had a quite nasty experience. When running hal in verbose mode
> >  in a x terminal it locks up my X, untill i kill hald from another
> >  machine..  Stracing of X shows that it was blocking on dbus calls.
> >  What seems to happen is that hal's stdout/stderr buffers are filled
> >  up because X is busy with other stuff, causing hal to block, which in
> >  turn causes X to block when it calls out to hal the next time :(
> > 
> >  A quick look in the xorg-server code shows it's using libhal_*
> >  functions.  Almost all of these result in synchronous dbus calls
> >  (thus they block untill a reply is received). Which make them
> >  unsuitable for something as critical as the X server.
> > 
> >  From my point of view it might be best to turn the input hotplugging
> >  code in unstable for now as it's not actually used at this point
> >  anyway...
> > 
> >From my point of view it wouldn't be a good solution :)
> (we use the input hotplugging code to load the synaptics driver on
> laptops with touchpads, if nothing else, and will use it for most
> everything post-lenny)

Ah, i didn't know it was used for synaptics already.

> Is there any better way to fix this, or should we just consider it a
> wontfix thing?

Yes, patch the X server to not use synchronous dbus calls, which are definately
the wrong thing for it. This does mean the server should use dbus-glib or
libdbus directly (or fix libhal to expose async variants..).

It's definately something upstream should fix imho.

  Sjoerd
-- 
Genetics explains why you look like your father, and if you don't, why
you should.



Reply to: