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

Andrey Borzenkov arvidjaar at mail.ru
Fri Jan 5 06:05:08 PST 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Friday 05 January 2007 15:21, Danny Kukawka wrote:
> On Friday 05 January 2007 09:20, Andrey Borzenkov wrote:
> > On Thursday 04 January 2007 22:32, Danny Kukawka wrote:
>
> [...]
>
> > > IMO this lines doesn't crash HAL. I can't see how this can crash the
> > > daemon atm.
> >
> > LIBHAL_FREE_DBUS_ERROR writes to stderr which apparently confuses
> > libdbus. Full trace is
> >
> > 19:00:32.166 [I] hald_dbus.c:2972: Refreshing mount state
> > for
> > /org/freedesktop/Hal/devices/volume_uuid_f340078d_4758_4d33_a4ac_a148c95c
> >75 58 since Unmount() completed
> > 19:00:32.166 [I] hald_dbus.c:3027: failed with 'hal-storage-shared.c 285
> > : INFO: called LIBHAL_FREE_DBUS_ERROR but dbusError was not
> > 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.
>

This is Mandriva cooker:

{pts/1}% rpm -qa libdbus\*
libdbus-qt-1_1-devel-0.70-1mdv2007.0
libdbus-glib-1_2-0.72-2mdv2007.1
libdbus-glib-1_2-devel-0.72-2mdv2007.1
libdbus-1_3-1.0.2-2mdv2007.1
libdbus-qt-1_1-0.70-1mdv2007.0
libdbus-1_3-devel-1.0.2-2mdv2007.1

I Cc Frederic Crozat as he can better answer this question.

> 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.

- -andrey
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)

iD8DBQFFnlsVR6LMutpd94wRAt+YAKCEsvwIKsvY14YcJECVM0aWzxH4ZgCgqBBT
+QPmfU1bmhD+OgTz/Ju1RIk=
=qcEO
-----END PGP SIGNATURE-----


More information about the hal mailing list