busybox >=1.21.0 segfaults.

Piotr Karbowski piotr.karbowski at gmail.com
Mon Apr 1 18:50:01 UTC 2013


On 04/01/2013 08:30 PM, Piotr Karbowski wrote:
> I tried to test new busybox and it does segfault hard for me, it used to
> work with 1.21.0 but it does not work anymore. After enabling debuging
> symbols and using gdb I have:
>
> ### output of 1_21_0 tag:
> Program received signal SIGSEGV, Segmentation fault.
> 0x00000357fbb8abda in ?? ()
> (gdb) bt
> #0  0x00000357fbb8abda in ?? ()
> #1  0x0000000000406648 in index_in_strings (strings=0x408e0d <keywords>
> "add", key=0x0)
>      at libbb/compare_string_array.c:27
> #2  0x0000000000404ea5 in mdev_main (argc=1, argv=0x3890354b1f8)
>      at util-linux/mdev.c:1064
> #3  0x00000000004021b8 in main (argc=1, argv=0x3890354b1f8) at
> libbb/appletlib.c:812
> ###
>
> ### the strace ./busybox output:
> execve("./busybox", ["./busybox"], [/* 73 vars */]) = 0
> uname({sys="Linux", node="sabre", ...}) = 0
> brk(0)                                  = 0x258b1c0
> brk(0x258c380)                          = 0x258c380
> arch_prctl(ARCH_SET_FS, 0x258ba40)      = 0
> brk(0x25ad380)                          = 0x25ad380
> brk(0x25ae000)                          = 0x25ae000
> open("/dev/null", O_RDWR)               = 3
> close(3)                                = 0
> umask(0)                                = 077
> chdir("/dev")                           = 0
> --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0} ---
> +++ killed by SIGSEGV +++
> zsh: segmentation fault  strace ./busybox
> ###
>
> The tag 1_20_2 from git does work. I tried to downgrade gcc from 4.7.2
> to 4.6.3 and the result is the same. Config attached.
>
> The system is ~amd64 gentoo, libtool 2.4.2, glibc 2.16.0, linux-headers
> 3.8.

When added switch -s or --help it does not segfault. That could be root 
case of my other issue with /dev/snd/* permissions after boot that could 
be fixed with re-running mdev -s after the coldplug script was executed 
to load modules, then, propably mdev as hotplug agent was segfaulting 
and not setting permissions.

-- Piotr.


More information about the busybox mailing list