Re: Console not capturing call trace

From: Vegard Nossum
Date: Sun Sep 28 2008 - 08:14:29 EST


On Sun, Sep 21, 2008 at 5:46 PM, Jay Cliburn <jacliburn@xxxxxxxxxxxxx> wrote:
> I'm thinking this may be a userspace issue, but most users don't hack
> network drivers and don't encounter kernel warnings and oopses, and
> therefore aren't likely to encounter this, so I'm bringing it to the
> kernel list (especially those who run Fedora) for assistance/opinions.
>
> The problem: I no longer get full module lists and call traces on the
> console for a WARN_ON (for example). I run Fedora 9 and its current
> version of rsyslog-3.18.1-2.fc9.x86_64. Reverting to
> rsyslog-3.14.1-2.fc9.x86_64 or advancing to
> rsyslog-3.21.3-3.fc10.x86_64 didn't seem to help.
>
> For test purposes I inserted a WARN_ON(1) statement in the atl1 driver,
> and dmesg shows the output just fine, but /var/log/messages and my
> serial console both fail to show the module list and call trace.
> (Evidence below.)
>
> One thing I can't figure out is where the "<8>" comes from in
> the serial console output down at the bottom of this message.
> Backstepping from warn_on_slowpath() to print_modules() in the kernel
> code doesn't seem to show an <8> printed anywhere. I've got
> /proc/sys/kernel/printk set to 8 8 8 8, so maybe that's related?
>
> Has anyone else encountered this or know which rsyslogd knob to tweak
> to enable the full modules list and call trace? I've verified the
> condition occurs with current git, 2.6.26.3, and 2.6.25.16 kernels, so I
> think it's not a kernel problem. It *used* to work fine, but I can't
> remember when it stopped doing so.

Hi,

I'll try an answer since you've had no other replies.

You probably need to set up rsyslogd to log all kernel messages. For
me, changing the /etc/rsyslog.conf like this does the trick (but
beware of my linewrapping client):

--- rsyslog.conf.orig 2008-09-28 14:10:20.000000000 +0200
+++ rsyslog.conf.new 2008-09-28 14:10:12.000000000 +0200
@@ -36,7 +36,7 @@

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
-*.info;mail.none;authpriv.none;cron.none /var/log/messages
+kern.*;*.info;mail.none;authpriv.none;cron.none
/var/log/messages

# The authpriv file has restricted access.
authpriv.* /var/log/secure


I.e., you just need to add "kern.*" in the line that controls logging
to /var/log/messages. I hope this helps.


Vegard

--
"The animistic metaphor of the bug that maliciously sneaked in while
the programmer was not looking is intellectually dishonest as it
disguises that the error is the programmer's own creation."
-- E. W. Dijkstra, EWD1036
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/