mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Rich Felker <dalias@libc.org>
To: musl@lists.openwall.com
Subject: Re: seg fault at src/string/strlen.c:15
Date: Tue, 23 Jan 2018 21:27:43 -0500	[thread overview]
Message-ID: <20180124022743.GX1627@brightrain.aerifal.cx> (raw)
In-Reply-To: <Pine.LNX.4.64.1801231656550.14351@vcn.bc.ca>

On Tue, Jan 23, 2018 at 05:07:32PM -0800, Po-yi Wang wrote:
> hi
> 
> I try to compile make-4.1 for i486,ppc,arm targets.
> i486 seem ok. "make --version" runs and no problem.
> for ppc and arm targets, both seg fault at exactly the same place.
> I had to recompile musl-1.1.18 for both with "-g3" to narrow down
> the problem. it should be easy to reproduce. here is some outputs:
> 
> [ppc][1] cd /build/make-4.1; file make
> make: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1
> (SYSV), statically linked, not stripped
> [ppc][1] cd /build/make-4.1; cp make make-4.1 [ppc][1] cd
> /build/make-4.1; gdb make-4.1
> GNU gdb 6.5
> Copyright (C) 2006 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and
> you are
> welcome to change it and/or distribute copies of it under certain
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for
> details.
> This GDB was configured as "powerpc-unknown-linux-gnu"...Using host
> libthread_db library "/lib/libthread_db.so.1".
> 
> (gdb) run --version
> Starting program: /tmp/build/make-4.1/make-4.1 --version
> 
> Program received signal SIGSEGV, Segmentation fault.
> strlen (s=0x0) at src/string/strlen.c:15
> 15              for (w = (const void *)s; !HASZERO(*w); w++);
> (gdb)

This means make is calling strlen(0), so the bug is somewhere else --
in whatever causing the string pointer passed to strlen to be a null
pointer. Can you show a full backtrace (bt) rather than just the point
of the crash?

> output for arm target:
> 
> GNU gdb (GDB) 8.0
> Copyright (C) 2017 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later
> <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
> and "show warranty" for details.
> This GDB was configured as "armv7l-unknown-linux-gnueabi".
> Type "show configuration" for configuration details.
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>.
> Find the GDB manual and other documentation resources online at:
> <http://www.gnu.org/software/gdb/documentation/>.
> For help, type "help".
> Type "apropos word" to search for commands related to "word"...
> Reading symbols from make-4.1...done.
> (gdb) run --version
> Starting program: /tmp/build/make-4.1/make-4.1 --version
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x0002c3a0 in strlen (s=<optimized out>, s@entry=0x0) at
> src/string/strlen.c:15
> 15              for (w = (const void *)s; !HASZERO(*w); w++);
> (gdb)

Same here.

Does the problem also happen with make 4.2? Alpine Linux is using make
4.2.1 I think and I haven't heard of such a problem from them.

Rich


  reply	other threads:[~2018-01-24  2:27 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-24  1:07 Po-yi Wang
2018-01-24  2:27 ` Rich Felker [this message]
2018-01-24  2:33   ` Andre Renaud
2018-01-24  2:55     ` Po-yi Wang
2018-01-24  2:55   ` Po-yi Wang

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=20180124022743.GX1627@brightrain.aerifal.cx \
    --to=dalias@libc.org \
    --cc=musl@lists.openwall.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.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).