-----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/ 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-----