[Crash-utility] crash: cannot determine length of symbol: log_end

Dave Anderson anderson at redhat.com
Mon Jun 11 18:33:39 UTC 2012


----- 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
 
Ben,

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.

Dave




More information about the Crash-utility mailing list