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

Re: zsh 4.2.0 dumping core on completion attempt



[ removed zsh-users ]

Felix Rosencrantz wrote:
> had no problem.  Cygwin gave me this error:
> alternative:69: command not found: _suffix_alias_files

Looks like either _suffix_alias_files is missing or the upgrade from an
older zsh is only partial.

> I was able to reproduce the problem on a rh box within gdb and got this stack
> trace. (Note: _f worked fine for me, this is stack trace for completing "_x")
> #0  strncmp (s1=0x402cbbe4 "xmmap", s2=0x0, n=1)
>     at ../sysdeps/generic/strncmp.c:65
> #1  0x40246179 in cmp_anchors (o=0x402be3e8, n=0x402bc618, join=1)
>     at compmatch.c:1393

It probably just needs:
	 (!o->word || !strncmp(o->word, n->word, o->wlen))) ||
changing to:
         (!o->word || !n->word || !strncmp(o->word, n->word, o->wlen))) ||

We've got o->word == "xmmap", n->word == NULL and o->wlen == n->wlen.
So it might be a bug elsewhere that allows n->word == NULL or it might
be an omission that it isn't checked. Presumably n->wlen == 0 but is
that a length or an initial value?

Could you perhaps have a more detailed look from the debugger. At least
see what n->wlen is and ideally trace back to where o->word, n->word and
n->wlen are set (or not set).  Does that change result in it completing
the right thing?

Unfortunately, I can't reproduce the problem on any system I have access
to. If we can't find a bug higher in the chain, this would at least
avoid it crashing but I'd obviously prefer to understand what's going on.

Oliver



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