Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: zsh-4_2-patches



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wednesday 06 April 2005 14:49, Peter Stephenson wrote:
> Andrey Borzenkov wrote:
> > > Zsh in current Mandrake (4.2.4) crashes when completing rsync. I can
> > > currently reproduce it by using the following (_rsync is from current
> > > CVS):
> >
> > it also crashes in current CVS
>
> It doesn't look like I'm going to be able to jump through enough hoops
> to be able to reproduce the problem in this form.
>
> Is this only on the zsh-4_2-patches branch? 

No. It segfaults just as nicely in current CVS.

> Can you reproduce it by 
> completing with the same list of files recreated locally? 

yes. Using attached "foo" and "list" - drop them in current directory and do

pts/3}% ~/pkg/bin/zsh -f
localhost% autoload -U compinit; compinit
localhost% setopt nolistambiguous
localhost% zstyle ':completion:*' menu select=0
localhost% source foo; compdef _foo foo
localhost% foo xxx/<TAB>
zsh: do you wish to see all 276 possibilities (306 lines)?

press "y", press TAB, press any cursor key - zsh segfaults 

Several times it also aborted with the message

*** glibc detected *** corrupted double-linked list: 0x08190db0 ***

(glibc 2.3.4 on Mandrake 10.2). I was not able to reliably reproduce it. 
Sometimes it does not crash immediately but usually does it anyway later.

> From the line 
> number, it looks like the error is probably that the variable "g" is
> NULL, hence mgtab[ml2 * columns * mc2] is NULL?

1563        g = mgtab[ml1 * columns + mc1];
1564        clprintm(g, mtab[ml1 * columns + mc1], mcc1, ml1, lc1,
1565                 (g->widths ? g->widths[mcc1] : g->width));
1566        putc('\r', shout);

(gdb) print g
$4 = 0x8183c20
(gdb) print mtab
$5 = (Cmatch **) 0x8191748
(gdb) print mtab[ml1*columns + mc1]
$6 = (Cmatch *) 0x81837e0
(gdb) print mcc1
$8 = 0
(gdb) print ml1
$9 = 0
(gdb) print lc1
$10 = 1
(gdb) print g->widths[mcc1]
Cannot access memory at address 0x31322033
(gdb) print g->widths
$11 = (int *) 0x31322033
(gdb) print *g
$12 = {name = 0x818ec00 "`�030\b\220�030\b�\030\b", prev = 0x818ed30,
  next = 0x818ee08, flags = 135851744, mcount = 0, matches = 0x19,
  lcount = 135383392, llcount = 135773768, ylist = 0x818efd8, ecount = 0,
  expls = 0x18, ccount = 16, lexpls = 0x656c6966, lmatches = 0x73,
  lfmatches = 0x0, lallccs = 0x59, num = 762802733, nbrbeg = 1915563378,
  nbrend = 538979629, new = 538976288, dcount = 892744243, cols = 840972086,
  lins = 791949360, width = 825176624, widths = 0x31322033, totl = 976237114,
  shortest = 1478506803, perm = 0x65657246}
(gdb) print **mtab[ml1*columns + mc1]
$16 = {str = 0x81155a8 "freeradius-mysql-0.9.3-1.1.i386.rpm",
  orig = 0x810ff38 "freeradius-mysql-0.9.3-1.1.i386.rpm",
  ipre = 0x810fcc8 "xxx/", ripre = 0x0, isuf = 0x0, ppre = 0x0, psuf = 0x0,
  prpre = 0x0, pre = 0x0, suf = 0x0,
  disp = 0x8161038 "-rw-r--r--        7958 2004/02/16 19:22:27 
freeradius-mysql-0.9.3-1.1.i386.rpm", autoq = 0x0, flags = 0, brpl = 0x0, 
brsl = 0x0,
  rems = 0x0, remf = 0x0, qipl = 0, qisl = 0, rnum = 1, gnum = 1, mode = 0,
  modec = 0 '\0'}



-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCVW/bR6LMutpd94wRArvKAJ9ddoU0yh+oIkdlLmHg1O2doHERgQCgh5bf
t2LVVleTfXMaao31RtuuXCg=
=y4Pf
-----END PGP SIGNATURE-----

Attachment: comptest.tar.gz
Description: application/tgz



Messages sorted by: Reverse Date, Date, Thread, Author