GNOME Bugzilla – Bug 134696
Error logged to stderr disappears
Last modified: 2010-06-04 19:36:20 UTC
gdm normally redirects stderr to /dev/null when it starts (before a user has logged in), thereby disabling potentially important messages from libraries. If a library used by the daemon or the greeter fails critically for some reason, it almost always prints a message to stderr. Those messages can be crucial to be able to figure out what went wrong, and it's therefore important that they are logged somewhere where the user can see them. I stumbled upon this after upgrading some font related packages in my Debian installation. The effect after that was that gdm failed to start the X server. No error was logged anywhere, no core, no nothing - gdm simply bailed out when it tried to display the greeter (gdmgreeter or gdmlogin made no difference). It took several hours of determined debugging to figure out that it was the pango library that couldn't load neither the requested font nor the fallback font. That caused it to call exit(3) (should be abort(3) - I've filed a report about that too) which made gdmgreeter very short lived. The pango library did however log several messages about the problem to stderr before that, which I didn't get to see. The really nice thing to do here is to install a pipe on stderr (and preferably also stdout) and send the output on to syslog. Failing that it should go to a log somewhere, somewhat like a system-wide analogy to $HOME/.xsession-errors.
It might be reasonable to disable redirecting stderr to /dev/null when debug enable=true, instead redirecting to a errormsg file in /tmp. feel free to submit a patch.
I agree with the bug reporter! I've had the same frustration.
Yes, I have too. Fixing this would be nice, I just never have had the time. I'd happily accept a patch to redirect stdout/stderr somewhere nice (it should work this way only when debug is enabled, but I'd add this bit if someone wrote a patch to make GDM not send it to /dev/null.
Thanks for taking the time to report this bug. However, you are using a version that is too old and not supported anymore. GNOME developers are no longer working on that version, so unfortunately there will not be any bug fixes for the version that you use. By upgrading to a newer version of GNOME you could receive bug fixes and new functionality. You may need to upgrade your Linux distribution to obtain a newer version of GNOME. Please feel free to reopen this bug if the problem still occurs with a newer version of GNOME.