dbus user existance checking.
Pat Suwalski
pat at suwalski.net
Sun Apr 11 02:04:50 EST 2004
Hi,
A few weeks ago, it took me a number of hours to track down that the
reason dbus was just dying was due to the fact that I didn't have the
daemon user in the config file on the system. In fact, I'd created a
user, I just mistyped the name.
I've been fiddling around with the code, but essentially the problem is
such: unless the dbus-daemon-1 is started with exactly DBUS_VERBOSE=1
DBUS_DEBUG_OUTPUT=1, the user is not told that the 'messagebus' user
does not exist.
The problem is that the lack of DBUS_DEBUG_OUTPUT causes the stderr to
be piped to /dev/null too soon in the process. Around line bus/bus.c:610
there is a seemingly good opportunity to disable null output, but the
structure of the program sort of forbids that. :)
Around dbus/dbus-sysdeps.c:3180 is the spot where output is nulled.
Try as I might, I don't know the structure of the program well enough to
solve this really simple thing. Clearly, output should only be disabled
after a fully successful startup. Basic debug information like 'missing
user' should definitely be presented to the user, perhaps even
regardless of debug outputting.
--Pat
More information about the dbus
mailing list