1.14.1 have a broken ash

Natanael Copa natanael.copa at gmail.com
Fri Jun 12 14:52:47 UTC 2009


On Fri, 2009-06-12 at 16:08 +0200, Denys Vlasenko wrote:
> On Fri, Jun 12, 2009 at 4:01 PM, Natanael Copa<natanael.copa at gmail.com> wrote:
> > On Fri, 2009-06-12 at 15:22 +0200, Denys Vlasenko wrote:
> >> On Fri, Jun 12, 2009 at 3:14 PM, Natanael Copa<natanael.copa at gmail.com> wrote:
> >> > After upgrading my buildboxes to busybox 1.14.1 git-pull and git-am
> >> > stopped working.
> >> >
> >> > Not sure where how or why, but i know for sure that busybox-1.14.1
> >> > breaks git for me.
> >>
> >> Does 1.14.0 work?
> >
> > Ok i found an old busybox-1.13.4 package and with 1.13.4 every things
> > works as normal. my busybox build script works, git pull and git am
> > works again.
> >
> > looks like 1.13.x was released 9 nov 2008 so somehitng after that must
> > have broken ash. looks like much happened since then...
> 
> Can you determine what script works differently now? I'd use "strace -f"
> as a starting point.

I have a backtrace on glibc box:
(gdb) run
Starting program: /home/ncopa/src/busybox/busybox_unstripped ash -x /usr/lib/git-core/git-am
+ SUBDIRECTORY_OK=Yes
+ OPTIONS_KEEPDASHDASH=
+ OPTIONS_SPEC=git am [options] [<mbox>|<Maildir>...]
git am [options] (--resolved | --skip | --abort)
--
i,interactive   run interactively
b,binary*       (historical option -- no-op)
3,3way          allow fall back on 3way merging if needed
s,signoff       add a Signed-off-by line to the commit message
u,utf8          recode into utf8 (default)
k,keep          pass -k flag to git-mailinfo
whitespace=     pass it through git-apply
directory=      pass it through git-apply
C=              pass it through git-apply
p=              pass it through git-apply
reject          pass it through git-apply
resolvemsg=     override error message when patch failure occurs
r,resolved      to be used after a patch failure
skip            skip the current patch
abort           restore the original branch and abort the patching operation.
committer-date-is-author-date    lie about committer date
ignore-date     use current timestamp for author date
rebasing*       (internal use for git-rebase)
+ . git-sh-setup

Program received signal SIGSEGV, Segmentation fault.
0x0000000000420351 in strcpy ()
(gdb) bt
#0  0x0000000000420351 in strcpy ()
#1  0x00000000004771c4 in padvance (path=0x7fffce1fc0e8, 
    name=0x1aec858 "/usr/bin//usr/bin//usr/bin//usr/bin//usr/bin//usr/bin//usr/bin//usr/bin//usr/bin//usr/bin//usr/bin//usr/bin//usr/bin//usr/bin//usr/bin//usr/bin//usr/bin//usr/bin//usr/bin//usr/bin//usr/bin//usr/bin//u"...)
    at shell/ash.c:2258
#2  0x000000000047d570 in dotcmd (argc=2, argv=0x1aec878) at shell/ash.c:11915
#3  0x0000000000474dab in evalbltin (cmd=<value optimized out>, 
    argc=<value optimized out>, argv=<value optimized out>) at shell/ash.c:9153
#4  0x000000000047e94e in evalcommand (cmd=0x1aec820, 
    flags=<value optimized out>) at shell/ash.c:9096
#5  0x000000000047b2c4 in evaltree (n=<value optimized out>, 
    flags=<value optimized out>) at shell/ash.c:8136
#6  0x000000000047cb95 in cmdloop (top=1) at shell/ash.c:11879
#7  0x000000000047db99 in ash_main (argc=<value optimized out>, 
    argv=<value optimized out>) at shell/ash.c:13245
#8  0x0000000000472013 in run_applet_no_and_exit (applet_no=0, 
    argv=0x7fffce1fc930) at libbb/appletlib.c:737
#9  0x000000000047207a in run_applet_and_exit (name=0x7fffce1fea58 "ash", 
    argv=0x7fffce1fc930) at libbb/appletlib.c:744
#10 0x0000000000472186 in run_applet_and_exit (name=<value optimized out>, 
    argv=0x7fffce1fc930) at libbb/appletlib.c:709
#11 0x0000000000472207 in main (argc=<value optimized out>, 
---Type <return> to continue, or q <return> to quit---
    argv=0x7fffce1fc928) at libbb/appletlib.c:781



and corresponding backtrace on uclibc box, but running git-pull script.
(gdb) run
Starting program: /home/ncopa/busybox/busybox_unstripped ash -x /usr/libexec/git-core/git-pull
+ USAGE=[-n | --no-stat] [--[no-]commit] [--[no-]squash] [--[no-]ff] [-s strategy]... [<fetch-options>] <repo> <head>...
+ LONG_USAGE=Fetch one or more remote refs and merge it/them into the current HEAD.
+ SUBDIRECTORY_OK=Yes
+ OPTIONS_SPEC=
+ . git-sh-setup

Program received signal SIGSEGV, Segmentation fault.
0x0805bf0e in strcpy ()
(gdb) bt
#0  0x0805bf0e in strcpy ()
#1  0x08e9b25b in ?? ()
#2  0x0804d056 in padvance (path=0x211, 
    name=0x211 <Address 0x211 out of bounds>) at shell/ash.c:2258
#3  0x0805373f in dotcmd (argc=2, argv=0x8e9b264) at shell/ash.c:11915
#4  0x08053e02 in evalbltin (cmd=0x8065d50, argc=2, argv=0x8e9b264)
    at shell/ash.c:9153
#5  0x080542aa in evalcommand (cmd=0x8e9b22c, flags=0) at shell/ash.c:9096
#6  0x0804f310 in evaltree (n=0x8e9b22c, flags=0) at shell/ash.c:8136
#7  0x08052798 in cmdloop (top=1) at shell/ash.c:11879
#8  0x08052d68 in ash_main (argc=3, argv=0xffe6fb28) at shell/ash.c:13245
#9  0x08048413 in run_applet_no_and_exit (applet_no=0, argv=0xffe6fb28)
    at libbb/appletlib.c:737
#10 0x0804848a in run_applet_and_exit (name=0xffe6fe01 "ash", argv=0xffe6fb28)
    at libbb/appletlib.c:744
#11 0x0804858a in run_applet_and_exit (name=<value optimized out>, 
    argv=0xffe6fb28) at libbb/appletlib.c:709
#12 0x0804861a in main (argc=4, argv=0xffe6fb24) at libbb/appletlib.c:781
(gdb) 


Hope that helps

-nc



More information about the busybox mailing list