[issue983] zsh freezing on tab completion (ls)

Bobby bts at bts.grml.org
Mon May 9 21:27:29 CEST 2011


Bobby <vienessewaltzer at gmail.com> added the comment:

I actually thought the same thing when I first started looking at this (in 
regards to the version)! Exec zsh does the same thing.  I haven't tried removing 
all aliases yet (and will), but I wanted to show you what I found in the 
debugger because after I said I wasn't running into any infinite loops I think I 
may have run into one.


(gdb) 
mb_metacharlenconv_r (s=0xebfc81 "", wcp=0x0, mbsp=0x6ae630)
    at ../../Src/utils.c:4389
4389	{
(gdb) 
4395	    for (ptr = s; *ptr; ) {
(gdb) 
4389	{
(gdb) 
4395	    for (ptr = s; *ptr; ) {
(gdb) 
4414	    if (wcp)
(gdb) 
4421		return 0;		/* Probably shouldn't happen */
(gdb) 
4418	    if (ptr > s) {
(gdb) 
85	  return __builtin___memset_chk (__dest, __ch, __len, __bos0 (__dest));
(gdb) 
4418	    if (ptr > s) {
(gdb) 
4422	}
(gdb) 
get_comp_string (lst=4) at ../../../Src/Zle/zle_tricky.c:1486
1486			if (itype_end(tt, IIDENT, 1) == tt)
(gdb) 
itype_end (ptr=0xebfc81 "", itype=128, once=1) at ../../Src/utils.c:3491
3491	{
(gdb) 
3493	    if (isset(MULTIBYTE) &&
(gdb) 
3494		(itype != IIDENT || !isset(POSIXIDENTIFIERS))) {
(gdb) 
3495		mb_metacharinit();
(gdb) 
mb_metacharinit () at /usr/include/bits/string3.h:85
85	  return __builtin___memset_chk (__dest, __ch, __len, __bos0 (__dest));
(gdb) 
mb_metacharinit () at ../../Src/utils.c:450
450	}
(gdb) 
itype_end (ptr=0xebfc81 "", itype=128, once=1) at ../../Src/utils.c:3496
3496		while (*ptr) {
(gdb) 
3562	}
(gdb) 
get_comp_string (lst=4) at ../../../Src/Zle/zle_tricky.c:1487
1487			    nnb = tt + nclen;
(gdb) 
1488			tt += nclen;
(gdb) 
1487			    nnb = tt + nclen;
(gdb) 
1488			tt += nclen;
(gdb) 
1475		for (tt = s; tt < s + zlemetacs_qsub - wb;) {
(gdb) 
1476		    if (*tt == Inbrack) {
(gdb) 
1481		    } else if (i && *tt == Outbrack) {
(gdb) 
1485			int nclen = MB_METACHARLEN(tt);
(gdb) 
mb_metacharlenconv (s=0xebfc81 "", wcp=0x0) at ../../Src/utils.c:4439
4439	    if (!isset(MULTIBYTE)) {
(gdb) 
4455	    if (itok(*s)) {
(gdb) 
4461	    return mb_metacharlenconv_r(s, wcp, &mb_shiftstate);
(gdb) 
mb_metacharlenconv_r (s=0xebfc81 "", wcp=0x0, mbsp=0x6ae630)
    at ../../Src/utils.c:4389
4389	{
(gdb) 
4395	    for (ptr = s; *ptr; ) {
(gdb) 
4389	{
(gdb) 
4395	    for (ptr = s; *ptr; ) {
(gdb) 
4414	    if (wcp)
(gdb) 
4421		return 0;		/* Probably shouldn't happen */

I went through one iteration, but I got to the "Probably shouldn't happen" 
comment and figured that may be something of concern.  I'll report back on the 
aliases stuff momentarily!  Thanks for all the help.

----------
assignedto: ft
messages: 3753, 3754, 3756, 3757, 3758, 3759, 3760, 3761
nosy: ft, vienessewaltzer
priority: bug
status: chatting
title: zsh freezing on tab completion (ls)

_____________________________________
GRML issue tracker <bts at bts.grml.org>
<http://bts.grml.org/grml/issue983>
_____________________________________


More information about the Bugs-changes mailing list