HAL Crasher

Richard Hughes hughsient at gmail.com
Thu Mar 15 06:20:35 PDT 2007


On 15/03/07, Danny Kukawka <danny.kukawka at web.de> wrote:
> On Donnerstag, 15. März 2007, Frederic Crozat wrote:
> > Le jeudi 15 mars 2007 à 00:11 +0000, Richard Hughes a écrit :
> > > On Thu, 2007-03-15 at 00:06 +0000, Richard Hughes wrote:
> > > > HAL really shouldn't crash. I've got no time to debug this now. Release
> > > > blocker?
> >
> > Well, it is a "known" issue we discovered at Mandriva last week while
> > pushing the last bits of HAL / pm-utils for 2007.1 :
> >
> > Basically, any hald script outputting something on stderr will cause
> > hald to abort.
>
> IMO this happen only if you compile D-Bus with asserts (IIRC).

I'm using dbus from rawhide which will be very close to the version in
F7. I'll find out if it is compiled with asserts tonight.

> But there would
> be some possible solutions to fix this in D-Bus:
>
> 1) if D-Bus get a output from stderr and the first line does not start
> with a valid error name (org.freedesktop.Hal.*) D-Bus set the error name/type
> automatically to org.freedesktop.*.unknown. and don't crash HAL.

Sounds like a good plan.

> 2) D-Bus should get errors not via stderr, but via e.g. a special pipe
> (e.g. echo "Access type not supported" >&3) so that all scripts which would
> like to send a D-Bus error have to use this pipe and not stderr. This would
> IMO solve the source of the problem and would avoid to change all possible
> scripts.

Hmm. Using stderr is both a blessing and a curse.

> But I'm not sure if one of both would be accepted by the dbus developers/
> maintainer. But the current behavior is unacceptable.

Totally agree. I think your first suggestion seems the most sane,
although I'm not sure what the dbus guys would say.

Richard.


More information about the hal mailing list