From: Mikael Magnusson <mikachu@gmail.com>
To: Peter Stephenson <p.w.stephenson@ntlworld.com>
Cc: zsh-workers@zsh.org
Subject: Re: zsh eats 100% CPU with completion in /
Date: Sat, 31 Oct 2009 23:43:33 +0100 [thread overview]
Message-ID: <237967ef0910311543y648f6511q3bc5ad097175a80b@mail.gmail.com> (raw)
In-Reply-To: <200910312000.n9VK0VXC003485@pws-pc.ntlworld.com>
2009/10/31 Peter Stephenson <p.w.stephenson@ntlworld.com>:
> Mikael Magnusson wrote:
>> 2009/10/30 Mikael Magnusson <mikachu@gmail.com>:
>> > 2009/10/30 Frank Terbeck <ft@bewatermyfriend.org>:
>> >> The subject is not entirely correct.
>> >>
>> >> Zsh eats 100% CPU on a colleague's laptop if you do this:
>> >> % cd /
>> >> % cd ..
>> >> % ./<tab>
>
> Thanks for the additional details.
>
> So it appears something's going on in this loop in get_comp_string()
> around line 1439 of zle_tricky.c:
>
> for (tt = s; tt < s + zlemetacs_qsub - wb;) {
> if (*tt == Inbrack) {
> i++;
> nb = nnb;
> ne = tt;
> tt++;
> } else if (i && *tt == Outbrack) {
> i--;
> tt++;
> } else {
> int nclen = MB_METACHARLEN(tt);
> if (itype_end(tt, IIDENT, 1) == tt)
> nnb = tt + nclen;
> tt += nclen;
> }
> }
>
> It would therefore probably help to know what the various quantities are
> in this loop: tt, s, zlemetacs_qsub and wb in particular, and also what
> nclen is being returned. (You might need a debugging build to get these
> out.) It seems plausible nclen is zero, which obviously causes a
> problem. If eveything's in range (and unless we're going backwards the
> loop test suggests it should be) this presumably means we encountered a
> character we didn't like somewhere, so possibly the LC_CTYPE locale is
> useful (I would guess it's UTF-8).
Yes, my LC_CTYPE is en_US.UTF-8, here's a bt full
#0 0x6fae4a7b in get_comp_string () at zle_tricky.c:1439
nnb = 0x82d7248 ""
nb = 0x0
ne = 0x0
t0 = 34
tt0 = 34
i = 0
j = 0
k = 0
cp = 1
rd = 0
sl = 1
ocs = 0
ins = 0
oins = 0
ia = 0
parct = 0
varq = 0
ona = 0
qsub = 0
zlemetacs_qsub = 2
redirpos = 0
s = 0x82d7248 ""
tmp = 0x80ff770 "./"
p = 0x0
tt = 0x82d7248 ""
rdop = "\000\367\017\b\370\031\244wq\367\017\b\001\000\000\000h0\031\b"
linptr = 0x6ffed840 "./x"
u = 0x80ff772 ""
#1 0x6fae22bc in docomplete (lst=4) at zle_tricky.c:659
s = 0x41b6cedb "\201\303\031\301\v"
ol = 0x0
olst = 4
chl = 0
ne = 0
ocs = 2
ret = 0
dat = {1878464192, 2007243640}
active = 1
#2 0x6fae175f in expandorcomplete (args=0x6faf7d40) at zle_tricky.c:315
ret = 2007244248
#3 0x6fae1302 in completecall (args=0x6faf7d40) at zle_tricky.c:208
No locals.
and inside the last bit
(gdb) print zlemetacs_qsub
$3 = 2
get_comp_string () at zle_tricky.c:1450
1450 if (itype_end(tt, IIDENT, 1) == tt)
(gdb) print nclen
$7 = 0
(gdb) print tt
$8 = 0x82d7248 ""
As a curiousity, I couldn't reproduce the bug as my user now, but it
"worked" as root, or if I did the cd .. twice.
--
Mikael Magnusson
next prev parent reply other threads:[~2009-10-31 22:50 UTC|newest]
Thread overview: 102+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-30 16:10 Frank Terbeck
2009-10-30 21:14 ` Mikael Magnusson
2009-10-30 21:25 ` Mikael Magnusson
2009-10-30 21:33 ` Mikael Magnusson
2009-10-31 20:00 ` Peter Stephenson
2009-10-31 22:43 ` Mikael Magnusson [this message]
2009-10-31 23:00 ` Peter Stephenson
2009-11-01 1:50 ` Mikael Magnusson
2009-11-01 18:31 ` Peter Stephenson
2009-11-01 19:33 ` Bart Schaefer
2009-11-01 21:12 ` Mikael Magnusson
2009-11-01 22:20 ` Peter Stephenson
2009-11-02 0:57 ` Mikael Magnusson
2009-11-02 1:26 ` Mikael Magnusson
2009-11-02 16:38 ` Peter Stephenson
2009-11-02 20:58 ` Mikael Magnusson
2009-11-02 21:06 ` Mikael Magnusson
2009-11-02 21:30 ` Mikael Magnusson
2009-11-03 10:10 ` Peter Stephenson
2009-11-03 11:24 ` Frank Terbeck
2009-11-02 10:06 ` Peter Stephenson
2009-10-30 21:29 ` Benjamin R. Haskell
2009-10-30 23:01 ` Frank Terbeck
2009-10-30 23:15 ` Frank Terbeck
[not found] <mikachu@gmail.com>
2008-02-06 15:02 ` Completion lockup Mikael Magnusson
2008-02-06 15:07 ` Ismail Dönmez
2008-02-09 17:21 ` Peter Stephenson
2008-02-09 18:04 ` Mikael Magnusson
2008-02-09 19:13 ` Peter Stephenson
2008-08-30 12:02 ` Who is sorting my completion results? Mikael Magnusson
2008-08-30 12:16 ` Peter Stephenson
2008-08-30 12:39 ` Mikael Magnusson
[not found] ` <237967ef0902140622s7389d2c8h5a0c786dcf207422@mail.gmail.com>
[not found] ` <200902141801.n1EI1E2l003603@pws-pc.ntlworld.com>
[not found] ` <237967ef0902141019t30118690m30116c9413015d96@mail.gmail.com>
[not found] ` <090214111316.ZM15188@torch.brasslantern.com>
[not found] ` <237967ef0902141141y609b61d3i154546f6f6886c65@mail.gmail.com>
[not found] ` <090214133904.ZM15383@torch.brasslantern.com>
[not found] ` <20090216094632.30502fe9@news01>
2009-02-16 9:55 ` Problem with fake-files style and cd Mikael Magnusson
2011-05-27 1:25 ` Mikael Magnusson
2011-05-27 4:41 ` Bart Schaefer
2011-05-27 4:57 ` Mikael Magnusson
2011-05-27 5:36 ` Bart Schaefer
2011-05-27 14:24 ` Mikael Magnusson
2011-05-27 14:39 ` Peter Stephenson
2011-05-27 15:06 ` Bart Schaefer
2011-05-27 15:16 ` Mikael Magnusson
2011-05-27 15:44 ` Bart Schaefer
2011-01-06 19:22 ` Infinite loop, can't reproduce with zsh -f Mikael Magnusson
2011-01-06 20:03 ` Peter Stephenson
2014-11-23 21:07 ` PATCH: Fix leaks of desthost in ztcp Mikael Magnusson
2014-11-23 21:53 ` Peter Stephenson
-- strict thread matches above, loose matches on Subject: below --
2009-12-04 21:53 Add completion suffix highlighting Mikael Magnusson
2009-12-04 22:00 ` Mikael Magnusson
2009-12-05 19:31 ` Peter Stephenson
2009-12-05 19:36 ` Peter Stephenson
2009-12-05 19:49 ` Mikael Magnusson
2009-12-05 20:11 ` Peter Stephenson
2008-12-16 15:38 PATCH: edit-command-line with spaces in EDITOR Clint Adams
2008-12-16 17:07 ` Mikael Magnusson
2008-12-16 19:22 ` Peter Stephenson
2008-12-16 19:27 ` Mikael Magnusson
2008-12-16 20:51 ` Richard Hartmann
2008-12-16 21:45 ` Clint Adams
2008-12-16 22:31 ` Mikael Magnusson
2008-12-17 12:16 ` Romain Francoise
[not found] ` <237967ef0812170448n11bd34f8y2c98b6484c8c0024@mail.gmail.com>
[not found] ` <87oczb9d1j.fsf@elegiac.orebokech.com>
2008-12-17 13:17 ` Mikael Magnusson
2008-12-17 14:44 ` Greg Klanderman
2008-12-17 4:04 ` Bart Schaefer
[not found] <okiddle@yahoo.co.uk>
2008-10-30 21:20 ` another bug: zsh_directory_name Oliver Kiddle
2008-10-30 21:26 ` Mikael Magnusson
2008-10-30 22:13 ` Peter Stephenson
2008-10-30 23:44 ` Vincent Lefevre
2008-10-31 0:14 ` Mikael Magnusson
2008-10-31 9:44 ` Oliver Kiddle
2008-10-31 9:58 ` Peter Stephenson
2008-10-30 22:16 ` Peter Stephenson
2008-10-31 11:10 ` PATCH: bug with hash builtin Oliver Kiddle
2008-10-31 21:07 ` Peter Stephenson
2008-05-04 0:52 Identify "active" region? Bart Schaefer
2008-05-04 7:16 ` Mikael Magnusson
2008-05-04 12:21 ` Peter Stephenson
2008-05-04 12:33 ` Mikael Magnusson
2008-05-04 12:35 ` Mikael Magnusson
2008-05-04 13:28 ` Mikael Magnusson
2008-05-04 18:05 ` Peter Stephenson
2008-05-04 19:10 ` Mikael Magnusson
2008-05-04 16:38 ` Bart Schaefer
2008-05-04 17:52 ` Mikael Magnusson
2008-04-13 16:54 PATCH: (large) initial support for combining characters in ZLE Peter Stephenson
2008-04-13 17:32 ` Bart Schaefer
2008-04-14 9:02 ` Peter Stephenson
2008-04-14 12:00 ` Peter Stephenson
2008-04-14 13:34 ` Mikael Magnusson
2008-04-14 13:54 ` Peter Stephenson
2008-04-15 13:58 ` Mikael Magnusson
2008-04-15 16:46 ` Peter Stephenson
2008-04-16 1:28 ` Mikael Magnusson
2008-04-16 8:47 ` Peter Stephenson
2008-04-17 9:28 ` Stephane Chazelas
2008-09-22 18:16 ` Mikael Magnusson
2008-09-22 18:36 ` Peter Stephenson
2008-09-22 18:39 ` Mikael Magnusson
2008-04-17 18:33 ` Jun T.
2008-04-18 9:40 ` Peter Stephenson
2008-04-18 15:48 ` Jun T.
2008-04-18 16:05 ` Peter Stephenson
2008-04-19 15:04 ` Jun T.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=237967ef0910311543y648f6511q3bc5ad097175a80b@mail.gmail.com \
--to=mikachu@gmail.com \
--cc=p.w.stephenson@ntlworld.com \
--cc=zsh-workers@zsh.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).