Re: pahole Version 1.25-4 dumps

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Feb 26, 2024 at 09:09:34AM +0100, J B wrote:
> H,i
> some random tests:

⬢[acme@toolbox pahole]$ git diff
diff --git a/syscse.c b/syscse.c
index 4a5b199b7a636b9f..b09c8564759dab76 100644
--- a/syscse.c
+++ b/syscse.c
@@ -18,6 +18,12 @@
 static const char *prefix = "sys_";
 static size_t prefix_len = 4;
 
+static struct conf_fprintf conf;
+
+static struct conf_load conf_load = {
+        .conf_fprintf = &conf,
+};
+
 static bool filter(struct function *f)
 {
        if (f->proto.nr_parms != 0) {
@@ -156,7 +162,7 @@ int main(int argc, char *argv[])
                 argp_help(&argp, stderr, ARGP_HELP_SEE, argv[0]);
                 return EXIT_FAILURE;
        }
-       err = cus__load_files(cus, NULL, argv + remaining);
+       err = cus__load_files(cus, &conf_load, argv + remaining);
        if (err != 0) {
                cus__fprintf_load_files_err(cus, "syscse", argv + remaining, err, stderr);
                return EXIT_FAILURE;
⬢[acme@toolbox pahole]$ syscse bla
syscse: bla: Invalid argument
⬢[acme@toolbox pahole]$ syscse blaadsfafa
syscse: blaadsfafa: Invalid argument
⬢[acme@toolbox pahole]$

At some point conf_load became non-optional for:

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7f4b1ed in dwarf__load_file (cus=0x4052a0, conf=0x0, filename=0x7fffffffe4c3 "bla") at /home/acme/git/pahole/dwarf_loader.c:3626
3626		if (conf->max_hashtable_bits != 0) {
Missing separate debuginfos, use: dnf debuginfo-install bzip2-libs-1.0.8-16.fc39.x86_64 elfutils-libelf-0.190-4.fc39.x86_64 elfutils-libs-0.190-4.fc39.x86_64 glibc-2.38-16.fc39.x86_64 libgcc-13.2.1-6.fc39.x86_64 libzstd-1.5.5-4.fc39.x86_64 xz-libs-5.4.4-1.fc39.x86_64 zlib-1.2.13-4.fc39.x86_64
(gdb) bt
#0  0x00007ffff7f4b1ed in dwarf__load_file (cus=0x4052a0, conf=0x0, filename=0x7fffffffe4c3 "bla") at /home/acme/git/pahole/dwarf_loader.c:3626
#1  0x00007ffff7f310f5 in cus__load_file (cus=0x4052a0, conf=0x0, filename=0x7fffffffe4c3 "bla") at /home/acme/git/pahole/dwarves.c:2074
#2  0x00007ffff7f31ca1 in cus__load_files (cus=0x4052a0, conf=0x0, filenames=0x7fffffffe1c0) at /home/acme/git/pahole/dwarves.c:2577
#3  0x000000000040177a in main (argc=2, argv=0x7fffffffe1b8) at /home/acme/git/pahole/syscse.c:159
(gdb)

Thanks for the report, I'll add it.

- Arnaldo
 
> $ ls test.txt
> /usr/bin/ls: cannot access 'test.txt': No such file or directory
> $ syscse test.txt
> Segmentation fault (core dumped)
> $ coredumpctl info
>        Signal: 11 (SEGV)
>                 Stack trace of thread 48074:
>                 #0  0x00007624fb32430b n/a (libdwarves.so.1 + 0x5b30b)
>                 #1  0x00007624fb30b2ff cus__load_file (libdwarves.so.1 + 0x422f>
>                 #2  0x00007624fb312af9 cus__load_files (libdwarves.so.1 + 0x49a>
>                 #3  0x000063ada590a093 main (syscse + 0x1093)
>                 #4  0x00007624fb10ccd0 n/a (libc.so.6 + 0x25cd0)
>                 #5  0x00007624fb10cd8a __libc_start_main (libc.so.6 + 0x25d8a)
>                 #6  0x000063ada590a165 _start (syscse + 0x1165)
>                 ELF object binary architecture: AMD x86-64
> $ touch test.txt
> $ syscse test.txt
> Segmentation fault (core dumped)
> $ <as above>
> $ syscse /boot/vmlinuz-linux
> Segmentation fault (core dumped)
> $ <as above>
> 
> jb
> 




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux