* Re: 2.5.44: How to decode call trace
[not found] <87elai82xb.fsf@goat.bogus.local.suse.lists.linux.kernel>
@ 2002-10-23 3:50 ` Andi Kleen
2002-10-23 9:37 ` bert hubert
2002-10-23 10:33 ` Olaf Dietsche
0 siblings, 2 replies; 7+ messages in thread
From: Andi Kleen @ 2002-10-23 3:50 UTC (permalink / raw)
To: Olaf Dietsche; +Cc: linux-kernel
Olaf Dietsche <olaf.dietsche#list.linux-kernel@t-online.de> writes:
> and this is the code:
> static int __fscap_lookup(struct vfsmount *mnt, struct nameidata *nd)
> {
> static char name[] = ".capabilities";
> nd->mnt = mntget(mnt);
> nd->dentry = dget(mnt->mnt_sb->s_root);
> nd->flags = 0;
> return path_walk(name, nd);
> }
>
> What does .text.lock.namei and name.810 mean?
.text.lock.namei means that it hung in the slow path of a spinlock that
is referenced from namei.c
name.810 is a static data variable, probably the static char name[]
shown above. Remember the kernel backtrace is not exact and can print
random stack junk that looks like return addresses too. You always have
to sanity check each entry.
> Is there a way to get the line number out of these hex values?
addr2line -e vmlinux ... does this when you compile the kernel with -g
-Andi
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: 2.5.44: How to decode call trace
2002-10-23 3:50 ` 2.5.44: How to decode call trace Andi Kleen
@ 2002-10-23 9:37 ` bert hubert
2002-10-23 12:30 ` Olaf Dietsche
2002-10-23 10:33 ` Olaf Dietsche
1 sibling, 1 reply; 7+ messages in thread
From: bert hubert @ 2002-10-23 9:37 UTC (permalink / raw)
To: Andi Kleen; +Cc: Olaf Dietsche, linux-kernel
On Wed, Oct 23, 2002 at 05:50:41AM +0200, Andi Kleen wrote:
> > Is there a way to get the line number out of these hex values?
>
> addr2line -e vmlinux ... does this when you compile the kernel with -g
Also interesting is http://ds9a.nl/symoops
--
http://www.PowerDNS.com Versatile DNS Software & Services
http://lartc.org Linux Advanced Routing & Traffic Control HOWTO
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: 2.5.44: How to decode call trace
2002-10-23 3:50 ` 2.5.44: How to decode call trace Andi Kleen
2002-10-23 9:37 ` bert hubert
@ 2002-10-23 10:33 ` Olaf Dietsche
2002-10-23 11:48 ` [ACPI] " Matthew Wilcox
1 sibling, 1 reply; 7+ messages in thread
From: Olaf Dietsche @ 2002-10-23 10:33 UTC (permalink / raw)
To: Andi Kleen; +Cc: linux-kernel, acpi-devel
Andi Kleen <ak@suse.de> writes:
> Olaf Dietsche <olaf.dietsche#list.linux-kernel@t-online.de> writes:
>> and this is the code:
>> static int __fscap_lookup(struct vfsmount *mnt, struct nameidata *nd)
>> {
>> static char name[] = ".capabilities";
>> nd->mnt = mntget(mnt);
>> nd->dentry = dget(mnt->mnt_sb->s_root);
>> nd->flags = 0;
>> return path_walk(name, nd);
>> }
>>
>> What does .text.lock.namei and name.810 mean?
>
> .text.lock.namei means that it hung in the slow path of a spinlock that
> is referenced from namei.c
I guess this is what __down_failed means.
> name.810 is a static data variable, probably the static char name[]
> shown above. Remember the kernel backtrace is not exact and can print
> random stack junk that looks like return addresses too. You always have
> to sanity check each entry.
Ok, I'll keep that in mind.
>> Is there a way to get the line number out of these hex values?
>
> addr2line -e vmlinux ... does this when you compile the kernel with -g
Great! This is what I was searching for.
When I build with "make -k EXTRA_CFLAGS=-g EXTRA_LDFLAGS=-g bzImage",
I get a ton of error messages from drivers/acpi/include/actypes.h and
other acpi related stuff, starting with: #error ACPI_MACHINE_WIDTH not
defined. Maybe this is not the usual way to build with -g, but I don't
get these errors with "make -k bzImage". Maybe someone is interested
in this.
Anyway, I come around this by first building with "EXTRA_CFLAGS=-g
EXTRA_LDFLAGS=-g", ignoring the error messages and then a second try
with only EXTRA_LDFLAGS=-g.
Regards, Olaf.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [ACPI] Re: 2.5.44: How to decode call trace
2002-10-23 10:33 ` Olaf Dietsche
@ 2002-10-23 11:48 ` Matthew Wilcox
2002-10-23 12:26 ` Olaf Dietsche
0 siblings, 1 reply; 7+ messages in thread
From: Matthew Wilcox @ 2002-10-23 11:48 UTC (permalink / raw)
To: Olaf Dietsche; +Cc: Andi Kleen, linux-kernel, acpi-devel
On Wed, Oct 23, 2002 at 12:33:25PM +0200, Olaf Dietsche wrote:
> When I build with "make -k EXTRA_CFLAGS=-g EXTRA_LDFLAGS=-g bzImage",
> I get a ton of error messages from drivers/acpi/include/actypes.h and
> other acpi related stuff, starting with: #error ACPI_MACHINE_WIDTH not
> defined. Maybe this is not the usual way to build with -g, but I don't
> get these errors with "make -k bzImage". Maybe someone is interested
> in this.
Not really. Users shouldn't be overriding EXTRA_CFLAGS, it's for the
benefit of various parts of the kernel. Some other parts of the kernel
you break by doing this:
./arch/i386/mach-generic/Makefile:EXTRA_CFLAGS += -I../kernel
./drivers/ide/pci/Makefile:EXTRA_CFLAGS := -Idrivers/ide
./drivers/message/fusion/Makefile:EXTRA_CFLAGS += ${MPT_CFLAGS}
./drivers/usb/storage/Makefile:EXTRA_CFLAGS := -Idrivers/scsi
./fs/smbfs/Makefile:EXTRA_CFLAGS += -DSMBFS_PARANOIA
./fs/xfs/Makefile:EXTRA_CFLAGS += -Ifs/xfs -funsigned-char
./sound/oss/emu10k1/Makefile: EXTRA_CFLAGS += -DEMU10K1_DEBUG
The normal way to do what you want is to edit the Makefile and add -g
directly to CFLAGS.
--
Revolutions do not require corporate support.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: 2.5.44: How to decode call trace
2002-10-23 11:48 ` [ACPI] " Matthew Wilcox
@ 2002-10-23 12:26 ` Olaf Dietsche
0 siblings, 0 replies; 7+ messages in thread
From: Olaf Dietsche @ 2002-10-23 12:26 UTC (permalink / raw)
To: Matthew Wilcox; +Cc: Andi Kleen, linux-kernel, acpi-devel
Matthew Wilcox <willy@debian.org> writes:
> The normal way to do what you want is to edit the Makefile and add -g
> directly to CFLAGS.
Ok, thanks.
Regards, Olaf.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: 2.5.44: How to decode call trace
2002-10-23 9:37 ` bert hubert
@ 2002-10-23 12:30 ` Olaf Dietsche
0 siblings, 0 replies; 7+ messages in thread
From: Olaf Dietsche @ 2002-10-23 12:30 UTC (permalink / raw)
To: bert hubert; +Cc: Andi Kleen, linux-kernel
bert hubert <ahu@ds9a.nl> writes:
> On Wed, Oct 23, 2002 at 05:50:41AM +0200, Andi Kleen wrote:
>
>> > Is there a way to get the line number out of these hex values?
>>
>> addr2line -e vmlinux ... does this when you compile the kernel with -g
>
> Also interesting is http://ds9a.nl/symoops
This is a real shortcut. Thanks.
Regards, Olaf.
^ permalink raw reply [flat|nested] 7+ messages in thread
* 2.5.44: How to decode call trace
@ 2002-10-22 23:33 Olaf Dietsche
0 siblings, 0 replies; 7+ messages in thread
From: Olaf Dietsche @ 2002-10-22 23:33 UTC (permalink / raw)
To: linux-kernel
I have the following call tree:
Oct 22 22:35:36 goat kernel: rm D 00000246 0 615 387 (NOTLB)
Oct 22 22:35:36 goat kernel: Call Trace:
Oct 22 22:35:36 goat kernel: [<c0105ebf>] __down+0x67/0xb8
Oct 22 22:35:36 goat kernel: [<c0112a5c>] default_wake_function+0x0/0x34
Oct 22 22:35:36 goat kernel: [<c0106034>] __down_failed+0x8/0xc
Oct 22 22:35:36 goat kernel: [<c0143601>] .text.lock.namei+0x5/0x174
Oct 22 22:35:36 goat kernel: [<c0140768>] do_lookup+0x9c/0x1bc
Oct 22 22:35:36 goat kernel: [<c0140dde>] link_path_walk+0x556/0x868
Oct 22 22:35:36 goat kernel: [<c015bedc>] ext2_commit_chunk+0x38/0x6c
Oct 22 22:35:36 goat kernel: [<e08696a9>] name.810+0xd/0x10 [fscaps]
Oct 22 22:35:36 goat kernel: [<c015bf09>] ext2_commit_chunk+0x65/0x6c
Oct 22 22:35:36 goat kernel: [<e086969c>] name.810+0x0/0x10 [fscaps]
Oct 22 22:35:36 goat kernel: [<c0141117>] path_walk+0x27/0x28
Oct 22 22:35:36 goat kernel: [<e086909f>] __fscap_lookup+0x3f/0x40 [fscaps]
Oct 22 22:35:36 goat kernel: [<e0869266>] fscap_drop_op+0x1a/0x5c [fscaps]
Oct 22 22:35:36 goat kernel: [<c01424de>] vfs_unlink+0x14e/0x178
Oct 22 22:35:36 goat kernel: [<c01425b2>] sys_unlink+0xaa/0x120
Oct 22 22:35:36 goat kernel: [<c0106d93>] syscall_call+0x7/0xb
and this is the code:
static int __fscap_lookup(struct vfsmount *mnt, struct nameidata *nd)
{
static char name[] = ".capabilities";
nd->mnt = mntget(mnt);
nd->dentry = dget(mnt->mnt_sb->s_root);
nd->flags = 0;
return path_walk(name, nd);
}
What does .text.lock.namei and name.810 mean?
Is there a way to get the line number out of these hex values?
TIA
Regards, Olaf.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2002-10-23 12:24 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <87elai82xb.fsf@goat.bogus.local.suse.lists.linux.kernel>
2002-10-23 3:50 ` 2.5.44: How to decode call trace Andi Kleen
2002-10-23 9:37 ` bert hubert
2002-10-23 12:30 ` Olaf Dietsche
2002-10-23 10:33 ` Olaf Dietsche
2002-10-23 11:48 ` [ACPI] " Matthew Wilcox
2002-10-23 12:26 ` Olaf Dietsche
2002-10-22 23:33 Olaf Dietsche
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome