Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 24 Sep 2021 13:02:27 +0000
From: Ivo Palli <Ivo.Palli@...esnet.nl>
To: Rich Felker <dalias@...c.org>
CC: "musl@...ts.openwall.com" <musl@...ts.openwall.com>
Subject: Re: Musl compiled gawk coredumps. How to find out where?

That helped!

(gdb) backtrace
#0  __restore_sigs (set=set@...ry=0x7fff62ee5de0) at ./arch/x86_64/syscall_arch.h:40
#1  0x00000000004cf1c4 in raise (sig=sig@...ry=6) at src/signal/raise.c:11
#2  0x00000000004c96ea in abort () at src/exit/abort.c:11
#3  0x0000000000452f16 in catchsig (sig=<optimized out>) at main.c:1231
#4  catchsig (sig=<optimized out>) at main.c:1217
#5  <signal handler called>
#6  get_meta (p=p@...ry=0x7f4d35d74f50 "\260\232\243\001") at src/malloc/mallocng/meta.h:141
#7  0x00000000004ca62c in __libc_free (p=0x7f4d35d74f50) at src/malloc/mallocng/free.c:105
#8  0x0000000000459d57 in r_unref (tmp=tmp@...ry=0x7f4d35f5c778) at node.c:492
#9  0x00000000004456e5 in unref (r=0x7f4d35f5c778) at awk.h:1898
#10 purge_record () at field.c:360
#11 0x0000000000445f36 in set_record (
    buf=0x7f4d34f34cfe "SIZE\t1KB\t192758\t112698119\nSIZE\t4KB\t462090\t1122421206\nSIZE\t16KB\t355596\t3138948391\nSIZE\t64KB\t413028\t13558910172\nSIZE\t256KB\t1014012\t165385758947\nSIZE\t1MB\t2546508\t1346405498466\nSIZE\t10MB\t480844\t1602796961"..., cnt=25, fw=0x0) at field.c:269
#12 0x000000000044e765 in inrec (iop=<optimized out>, errcode=errcode@...ry=0x7fff62ee6cb0) at io.c:608
#13 0x00000000004414f8 in h_interpret (code=<optimized out>) at interpret.h:1289
#14 0x0000000000402631 in main (argc=<optimized out>, argv=<optimized out>) at main.c:516

Little unsure where gawk stops and musl begins. I guess #6 is where it goes wrong. Any musl developer want to work with me to figure this out?

   Ivo Palli

________________________________
From: Rich Felker <dalias@...c.org>
Sent: Friday, September 24, 2021 14:37
To: Ivo Palli <Ivo.Palli@...esnet.nl>
Cc: musl@...ts.openwall.com <musl@...ts.openwall.com>
Subject: Re: [musl] Musl compiled gawk coredumps. How to find out where?

On Fri, Sep 24, 2021 at 10:41:24AM +0000, Ivo Palli wrote:
> Hi there,
>
> I compiled gawk-4.2.1 (with gmp-6.2.1 and mpfr-4.1.0) using musl-1.2.2.
>
> Using it with I script I wrote I get
>
> gawk: /.../.../build_total.awk:25: (FILENAME=big.report FNR=6) fatal error: internal error
> ../go: line 36: 14488 Aborted                 (core dumped)
>
> Loading it into gdb doesn't give much information:
>
> # gdb -q ./gawk core.gawk.0.51bcaa32ed144d2498e3a70ff28af961.14488.1632479605000000
> Reading symbols from ./gawk...done.
> [New LWP 14488]
> Core was generated by `gawk -i functions.awk -v TEMPLATE=...
> Program terminated with signal SIGABRT, Aborted.
> #0  0x00000000004cf169 in __restore_sigs ()
> (gdb) backtrace
> #0  0x00000000004cf169 in __restore_sigs ()
> #1  0x00000000004cf1c4 in raise ()
> #2  0x0000000000000000 in ?? ()
> (gdb) frame 0
> #0  0x00000000004cf169 in __restore_sigs ()
> (gdb) print
> The history is empty.
> (gdb)
>
> I compiled gawk the same with regular gcc (version 8.3.1 20190507 (Red Hat 8.3.1-4)) into a dynamic binary with the same libraries, and that did complete my script without crashing.
>
> Can anybody inform me how to find out exactly where the crash occurs and how I can help fix this bug?

Try with musl and gawk built with debug info. If you're running with
musl provided by your distro, it probably has a debug symbols package
you can install. If you're building musl yourself, add --enable-debug
to configure command line or -g to CFLAGS manually.

Rich

Content of type "text/html" skipped

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.