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