After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 134696 - Error logged to stderr disappears
Error logged to stderr disappears
Status: RESOLVED OBSOLETE
Product: gdm
Classification: Core
Component: general
2.4.1.x
Other All
: Normal normal
: ---
Assigned To: GDM maintainers
GDM maintainers
Depends on:
Blocks:
 
 
Reported: 2004-02-18 02:14 UTC by Martin Stjernholm
Modified: 2010-06-04 19:36 UTC
See Also:
GNOME target: ---
GNOME version: 2.9/2.10



Description Martin Stjernholm 2004-02-18 02:14:41 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.
Comment 1 Brian Cameron 2005-02-03 21:37:40 UTC
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.
Comment 2 Bryce Nesbitt 2005-10-25 16:07:59 UTC
I agree with the bug reporter! I've had the same frustration.
Comment 3 Brian Cameron 2007-03-21 06:11:20 UTC
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.
Comment 4 William Jon McCann 2010-06-04 19:36:20 UTC
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.