Dwarves debugging tools
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: J B <jb.1234abcd@gmail.com>
Cc: dwarves@vger.kernel.org
Subject: Re: pahole Version 1.25-4 dumps
Date: Tue, 27 Feb 2024 10:14:48 -0300	[thread overview]
Message-ID: <Zd3gSG7v3web_rM2@x1> (raw)
In-Reply-To: <CAJXMFhFbv5MccigKvmQt9MhYwKv2iyigEG3Bhs64BZ=PMWc0WQ@mail.gmail.com>

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
> 

  reply	other threads:[~2024-02-27 13:14 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-26  8:09 pahole Version 1.25-4 dumps J B
2024-02-27 13:14 ` Arnaldo Carvalho de Melo [this message]
2024-02-27 13:42   ` Arnaldo Carvalho de Melo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Zd3gSG7v3web_rM2@x1 \
    --to=acme@kernel.org \
    --cc=dwarves@vger.kernel.org \
    --cc=jb.1234abcd@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox