Adding a new command rbtree
by qiaonuohan
Hello HATAYAMA,
I am trying to add a new command can be used to display rbtree and
radix tree. After some investigation, I find they are similar to the
build-in command "list". So I send this mail to ask your opinion about
making cmd_list to be similar to the command "struct/union/*".
Another thing needed to be inquired is about the style of displaying
tree. I will list some of my thought, and some suggestion will be glad
to get from you.
1.
NODE ... : ...
NODE ... : ...
NODE ... : ...
NODE ... : ...
NODE ... : ...
NODE ... : ...
This style can not indicate whether the leaf is left or right. And with
a big depth, the output may be ugly. So I do not like it.
2.
l - left child
r - right child
root NODE ... : ...
l NODE ... : ...
ll NODE ... : ...
lll NODE ... : ...
lr NODE ... : ...
r NODE ... : ...
Of course, in radix tree, l & r will be changed to some string that can
indicate the child of a node. Still, with a big depth, the line will be
too long and ugly.
3.
root NODE addr1 : ...
addr1 l NODE addr2 : ...
addr2 l NODE addr3 : ...
addr3 l NODE addr4 : ...
addr2 r NODE addr5 : ...
addr1 r NODE addr6 : ...
(l & r have the same meaning with the one in the 2.)
Surely, I prefer the the third one. What do you think? Or eliminating
the information indicating position is acceptable?
--
--
Regards
Qiao Nuohan
12 years, 5 months
Re: [Crash-utility] crash: cannot determine length of symbol: log_end
by Dave Anderson
----- 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
12 years, 5 months
Re: [Crash-utility] crash: cannot determine length of symbol: log_end
by Dave Anderson
----- 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(a)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
12 years, 5 months
Fwd: crash: cannot determine length of symbol: log_end
by Dave Anderson
----- Forwarded Message -----
From: "Ben Myers" <bpm(a)sgi.com>
To: anderson(a)redhat.com
Sent: Wednesday, June 6, 2012 3:06:19 PM
Subject: crash: cannot determine length of symbol: log_end
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
12 years, 5 months
current crash spec file
by Axel Wirbser
Hi Dave,
crash/extensions/sial.so is missing in my mock build, after using your
crash-6.0.7-0.src.rpm from http://people.redhat.com/anderson. To correct
this problem flex and bison is required
within the BuildRequires: step.
current step:
BuildRequires: ncurses-devel zlib-devel
my step:
BuildRequires: ncurses-devel zlib-devel flex bison
Is it possible to fix it in the future ?
Mit freundlichen Grüßen / Kind regards
Axel Wirbser
Build & Packaging Spezialist
IBM Systems & Technology Group, Systems Software Development
Technical Operations & Linux Technologies, Systems Software Management
Phone: 120-2088 / 49-7031-16-2088 IBM Deutschland (Embedded
image moved
to file:
pic64103.gif)
E-Mail: axel.wirbser(a)de.ibm.com Schoenaicher Str. 220
71032 Boeblingen
Germany
IBM Deutschland
Research &
Development
GmbH /
Vorsitzende des
Aufsichtsrats:
Martina Koederitz
Geschäftsführung:
Dirk Wittkopp
Sitz der
Gesellschaft:
Böblingen /
Registergericht:
Amtsgericht
Stuttgart, HRB
243294
12 years, 5 months