2014-11-18 23:08:51

by Kallol Biswas

[permalink] [raw]
Subject: crash/gdb: DW_FORM_strp pointing outside of .debug_str section

Hi,
I have been trying to debug a multi controller hang issue with crash.

It seems that crash works fine on stock ubuntu 14.04 running
3.13.0-39-generic. However when I recompile kernel and try to run
crash on it I get the following error:

crash> mod -s nvme ./nvme.ko
MODULE NAME SIZE OBJECT FILE
ffffffffa01d1240 nvme 58727 ./nvme.ko
crash> add-symbol-file ./nvme.ko 0xffffffffa01d1240
add symbol table from file "./nvme.ko" at
.text_addr = 0xffffffffa01d1240
Reading symbols from /root/mynvme.sriov/nvme.ko...DW_FORM_strp
pointing outside of .debug_str section [in module
/root/mynvme.sriov/nvme.ko]
gdb: gdb request failed: add-symbol-file ./nvme.ko 0xffffffffa01d1240
crash>

Any input on what I might have done wrong? Do I need to rebuild the
crash utility package along with the kernel?

Thanks,
Kallol


2014-11-19 14:24:30

by Dave Anderson

[permalink] [raw]
Subject: Re: crash/gdb: DW_FORM_strp pointing outside of .debug_str section


> Hi,
> I have been trying to debug a multi controller hang issue with crash.
>
> It seems that crash works fine on stock ubuntu 14.04 running
> 3.13.0-39-generic. However when I recompile kernel and try to run
> crash on it I get the following error:
>
> crash> mod -s nvme ./nvme.ko
> MODULE NAME SIZE OBJECT FILE
> ffffffffa01d1240 nvme 58727 ./nvme.ko
> crash> add-symbol-file ./nvme.ko 0xffffffffa01d1240
> add symbol table from file "./nvme.ko" at
> .text_addr = 0xffffffffa01d1240
> Reading symbols from /root/mynvme.sriov/nvme.ko...DW_FORM_strp
> pointing outside of .debug_str section [in module
> /root/mynvme.sriov/nvme.ko]
> gdb: gdb request failed: add-symbol-file ./nvme.ko 0xffffffffa01d1240
> crash>
> Any input on what I might have done wrong? Do I need to rebuild the
> crash utility package along with the kernel?
>
> Thanks,
> Kallol

This is the wrong mailing list for crash utility issues. Please send
your queries to [email protected].

That being said, the "mod -s" command does the add-symbol-file command
behind the scenes. Your discrete "add-symbol-file" command is both
unnecessary and incorrect -- 0xffffffffa01d1240 is the address
of the nvme module's module data structure and not the starting
text address.

Dave Anderson