[Crash-utility] crash: cannot determine length of symbol: log_end
Ben Myers
bpm at sgi.com
Mon Jun 11 19:14:41 UTC 2012
Hi Dave,
On Mon, Jun 11, 2012 at 02:33:39PM -0400, Dave Anderson wrote:
>
> ----- Original Message -----
> > > Hey David,
> > >
> > > I just upgraded a dev box to v3.5-rc1 and now crash doesn't work. Have
> > > you seen this before?
> > >
> > > crash 6.0.7
> > > Copyright (C) 2002-2012 Red Hat, Inc.
> > > Copyright (C) 2004, 2005, 2006, 2010 IBM Corporation
> > > Copyright (C) 1999-2006 Hewlett-Packard Co
> > > Copyright (C) 2005, 2006, 2011, 2012 Fujitsu Limited
> > > Copyright (C) 2006, 2007 VA Linux Systems Japan K.K.
> > > Copyright (C) 2005, 2011 NEC Corporation
> > > Copyright (C) 1999, 2002, 2007 Silicon Graphics, Inc.
> > > Copyright (C) 1999, 2000, 2001, 2002 Mission Critical Linux, Inc.
> > > This program is free software, covered by the GNU General Public License,
> > > and you are welcome to change it and/or distribute copies of it under
> > > certain conditions. Enter "help copying" to see the conditions.
> > > This program has absolutely no warranty. Enter "help warranty" for
> > > details.
> > >
> > > GNU gdb (GDB) 7.3.1
> > > Copyright (C) 2011 Free Software Foundation, Inc.
> > > License GPLv3+: GNU GPL version 3 or later
> > > <http://gnu.org/licenses/gpl.html>
> > > This is free software: you are free to change and redistribute it.
> > > There is NO WARRANTY, to the extent permitted by law. Type "show copying"
> > > and "show warranty" for details.
> > > This GDB was configured as "i686-pc-linux-gnu"...
> > >
> > > SYSTEM MAP: /boot/System.map-3.5.0-rc1-1.2-desktop
> > > DEBUG KERNEL: /root/xfs/vmlinux
> > > DUMPFILE: vmcore
> > > CPUS: 4
> > > DATE: Tue Jun 5 15:13:35 2012
> > > UPTIME: 01:58:35
> > > LOAD AVERAGE: 2.06, 1.61, 1.77
> > > TASKS: 90
> > > NODENAME: nfs7
> > > RELEASE: 3.5.0-rc1-1.2-desktop
> > > VERSION: #20 SMP PREEMPT Tue Jun 5 12:56:22 CDT 2012
> > > MACHINE: i686 (2399 Mhz)
> > > MEMORY: 6 GB
> > > PANIC:
> > > crash: cannot determine length of symbol: log_end
> > >
> > >
> > >
> > > I had been using crash 6.0.6 on this machine on a regular basis until
> > > upgrading the kernel. I expect if I go back to the older kernel it will
> > > work again. Any suggestions? More info I can provide?
> > >
> > > Thanks,
> > > Ben
> >
> > Right, this recent upstream kernel commit has re-designed the log buffer
> > scheme:
> >
> > commit 7ff9554bb578ba02166071d2d487b7fc7d860d62
> > Author: Kay Sievers <kay vrfy org>
> > Date: Thu May 3 02:29:13 2012 +0200
> >
> > printk: convert byte-buffer to variable-length record buffer
> >
> > Eventually I, or somebody on the crash-utility mailing list, will get around
> > to updating crash to handle the new scheme.
> >
> > The only thing you can do to work around it for now is to hack kernel.c
> > and just force the dump_log() function to return immediately:
> >
> > void
> > dump_log(int msg_level)
> > {
> > int i, len, tmp;
> > ulong log_buf, log_end;
> > char *buf;
> > char last;
> > ulong index;
> > struct syment *nsp;
> > int log_wrap, loglevel, log_buf_len;
> >
> > + return;
> >
> > if (symbol_exists("log_buf_len")) {
> > get_symbol_data("log_buf_len", sizeof(int), &log_buf_len);
> > get_symbol_data("log_buf", sizeof(ulong), &log_buf);
> > } else {
> > ...
> >
> > Dave
>
> I have a fix queued for crash-6.0.8. I should also mention that
> a more reasonable workaround to the hack above would be to simply
> invoke the session with "crash -s ...". In that case, the session
> will come up OK -- although the "sys" and "log" commands will result
> in the same (but non-fatal) error message.
Thanks much! Looking forward to it.
-Ben
More information about the Crash-utility
mailing list