[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