[PATCH] fix hald crash after attempt to unmount ignored volume.

Danny Kukawka danny.kukawka at web.de
Sat Jan 6 04:37:54 PST 2007


On Friday 05 January 2007 15:05, Andrey Borzenkov wrote:
> > > set.' 'org.freedesktop.Hal.Device.Volume.PermissionDenied'
> > > process 4822: arguments to dbus_message_new_error() were incorrect,
> > > assertion "_dbus_check_is_valid_error_name (error_name)" failed in file
> > > dbus-message.c line 1207.
> >
> > Interesting. How did you compile D-Bus (which options) and which version
> > is this. I never saw such a error before.
>
[...]
> > We should investigate the real reason for this error. IMO the current fix
> > is only cosmetic.
>
> No this is the correct fix. The _dbus_warn_check_failed() aborts if
> fatal_warnings_on_check_failed is set. And it defaults to TRUE unless
> overridden by DBUS_FATAL_WARNINGS environment. We may argue if it should
> default to FALSE; but as it stands now the behavior is absolutely correct.
> You have not seen such error probably because nobody tried to unmount what
> they should not be unmounting :) In any case, add-on must nor return
> arbitrary garbage where valid tokens are expected.

I didn't see the problem before because we don't compile D-Bus for SUSE 
products with --enable-asserts=yes IIRC to avoid such problems.

Hm, only to be sure that I understand the problem correct: A programm that 
started by HAL and which use D-Bus can't write to stderr without write first 
a valid service name like 'org.freedesktop.Hal.Device*' for the D-Bus error 
name? Sorry, but if this is correct, this is really strange and annoying for 
tools which write debug messages as many of the code in the tools directory.

Correct me, if I'm wrong.

Danny


More information about the hal mailing list