2020-07-22 09:15:09

by Stefano Garzarella

[permalink] [raw]
Subject: scripts/gdb: received an error when invoking lx-symbols

Hi Jan, Kieran,
with the last Linux 5.8-rc6 I have some problems with gdb scripts.
Everything is fine with Linux 5.7.

When I call lx-symbols, I received this error while loading modules
symbols:

(gdb) set python print-stack full
(gdb) target remote :1234
Remote debugging using :1234
arch_atomic_read (v=<optimized out>) at ../arch/x86/kernel/process.c:687
687 trace_cpu_idle_rcuidle(PWR_EVENT_EXIT, smp_processor_id());
(gdb) lx-symbols
loading vmlinux
scanning for modules in /home/stefano/repos/linux_vsock/build-tiny-config
loading @0xffffffffc0169000: /home/stefano/repos/linux_vsock/build-tiny-config/drivers/net/tun.ko
Traceback (most recent call last):
File "/home/stefano/repos/linux_vsock/build-tiny-config/scripts/gdb/linux/symbols.py", line 174, in invoke
self.load_all_symbols()
File "/home/stefano/repos/linux_vsock/build-tiny-config/scripts/gdb/linux/symbols.py", line 161, in load_all_symbols
[self.load_module_symbols(module) for module in module_list]
File "/home/stefano/repos/linux_vsock/build-tiny-config/scripts/gdb/linux/symbols.py", line 161, in <listcomp>
[self.load_module_symbols(module) for module in module_list]
File "/home/stefano/repos/linux_vsock/build-tiny-config/scripts/gdb/linux/symbols.py", line 131, in load_module_symbols
sections=self._section_arguments(module))
File "/home/stefano/repos/linux_vsock/build-tiny-config/scripts/gdb/linux/symbols.py", line 98, in _section_arguments
section_name_to_address = {
File "/home/stefano/repos/linux_vsock/build-tiny-config/scripts/gdb/linux/symbols.py", line 99, in <dictcomp>
attrs[n]['name'].string(): attrs[n]['address']
gdb.error: There is no member named name.
Error occurred in Python: There is no member named name.

I'll try to bisect.

Thanks,
Stefano


2020-07-22 09:23:24

by Jan Kiszka

[permalink] [raw]
Subject: Re: scripts/gdb: received an error when invoking lx-symbols

On 22.07.20 11:13, Stefano Garzarella wrote:
> Hi Jan, Kieran,
> with the last Linux 5.8-rc6 I have some problems with gdb scripts.
> Everything is fine with Linux 5.7.
>
> When I call lx-symbols, I received this error while loading modules
> symbols:
>
> (gdb) set python print-stack full
> (gdb) target remote :1234
> Remote debugging using :1234
> arch_atomic_read (v=<optimized out>) at ../arch/x86/kernel/process.c:687
> 687 trace_cpu_idle_rcuidle(PWR_EVENT_EXIT, smp_processor_id());
> (gdb) lx-symbols
> loading vmlinux
> scanning for modules in /home/stefano/repos/linux_vsock/build-tiny-config
> loading @0xffffffffc0169000: /home/stefano/repos/linux_vsock/build-tiny-config/drivers/net/tun.ko
> Traceback (most recent call last):
> File "/home/stefano/repos/linux_vsock/build-tiny-config/scripts/gdb/linux/symbols.py", line 174, in invoke
> self.load_all_symbols()
> File "/home/stefano/repos/linux_vsock/build-tiny-config/scripts/gdb/linux/symbols.py", line 161, in load_all_symbols
> [self.load_module_symbols(module) for module in module_list]
> File "/home/stefano/repos/linux_vsock/build-tiny-config/scripts/gdb/linux/symbols.py", line 161, in <listcomp>
> [self.load_module_symbols(module) for module in module_list]
> File "/home/stefano/repos/linux_vsock/build-tiny-config/scripts/gdb/linux/symbols.py", line 131, in load_module_symbols
> sections=self._section_arguments(module))
> File "/home/stefano/repos/linux_vsock/build-tiny-config/scripts/gdb/linux/symbols.py", line 98, in _section_arguments
> section_name_to_address = {
> File "/home/stefano/repos/linux_vsock/build-tiny-config/scripts/gdb/linux/symbols.py", line 99, in <dictcomp>
> attrs[n]['name'].string(): attrs[n]['address']
> gdb.error: There is no member named name.
> Error occurred in Python: There is no member named name.
>
> I'll try to bisect.

Dig for changes in the data structure (module_sect_attr).

Jan

--
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux

2020-07-22 10:05:32

by Stefano Garzarella

[permalink] [raw]
Subject: Re: scripts/gdb: received an error when invoking lx-symbols

On Wed, Jul 22, 2020 at 11:19:42AM +0200, Jan Kiszka wrote:
> On 22.07.20 11:13, Stefano Garzarella wrote:
> > Hi Jan, Kieran,
> > with the last Linux 5.8-rc6 I have some problems with gdb scripts.
> > Everything is fine with Linux 5.7.
> >
> > When I call lx-symbols, I received this error while loading modules
> > symbols:
> >
> > (gdb) set python print-stack full
> > (gdb) target remote :1234
> > Remote debugging using :1234
> > arch_atomic_read (v=<optimized out>) at ../arch/x86/kernel/process.c:687
> > 687 trace_cpu_idle_rcuidle(PWR_EVENT_EXIT, smp_processor_id());
> > (gdb) lx-symbols
> > loading vmlinux
> > scanning for modules in /home/stefano/repos/linux_vsock/build-tiny-config
> > loading @0xffffffffc0169000: /home/stefano/repos/linux_vsock/build-tiny-config/drivers/net/tun.ko
> > Traceback (most recent call last):
> > File "/home/stefano/repos/linux_vsock/build-tiny-config/scripts/gdb/linux/symbols.py", line 174, in invoke
> > self.load_all_symbols()
> > File "/home/stefano/repos/linux_vsock/build-tiny-config/scripts/gdb/linux/symbols.py", line 161, in load_all_symbols
> > [self.load_module_symbols(module) for module in module_list]
> > File "/home/stefano/repos/linux_vsock/build-tiny-config/scripts/gdb/linux/symbols.py", line 161, in <listcomp>
> > [self.load_module_symbols(module) for module in module_list]
> > File "/home/stefano/repos/linux_vsock/build-tiny-config/scripts/gdb/linux/symbols.py", line 131, in load_module_symbols
> > sections=self._section_arguments(module))
> > File "/home/stefano/repos/linux_vsock/build-tiny-config/scripts/gdb/linux/symbols.py", line 98, in _section_arguments
> > section_name_to_address = {
> > File "/home/stefano/repos/linux_vsock/build-tiny-config/scripts/gdb/linux/symbols.py", line 99, in <dictcomp>
> > attrs[n]['name'].string(): attrs[n]['address']
> > gdb.error: There is no member named name.
> > Error occurred in Python: There is no member named name.
> >
> > I'll try to bisect.
>
> Dig for changes in the data structure (module_sect_attr).

Thanks for the hint, I think I found the problem, I'll send a patch :-)

Stefano