From: Greg Klanderman <gak@klanderman.net>
To: zsh-workers@zsh.org
Subject: Re: zsh hangs loading init files
Date: Fri, 06 Jan 2012 20:27:09 -0500 [thread overview]
Message-ID: <m3k454i9oy.fsf@klanderman.net> (raw)
In-Reply-To: <m3mxa0iad8.fsf@klanderman.net> (Greg Klanderman's message of "Fri, 06 Jan 2012 20:12:35 -0500")
hmm looks like users/14411
greg
>>>>> On January 6, 2012 Greg Klanderman <gak@klanderman.net> wrote:
> yes, thanks.
> looks like maybe HASH_DIRS logic was changed and is now stat()ing
> every potential executable it finds, whereas it used to only
> getdents() on all the dirs in your path.
> still haven't found the changeset.
> greg
>>>>> On January 5, 2012 Dan Nelson <dnelson@allantgroup.com> wrote:
>> In the last episode (Jan 05), Greg Klanderman said:
>>>
>>> Hi all,
>>>
>>> I'm in the process of transitioning my work computer from debian 5.0
>>> (lenny) to an Ubuntu variant that Google uses (Goobuntu) and having
>>> trouble with newer versions of zsh. While loading my init files, zsh
>>> hangs several times for 10-30 sec. This is not happening on 4.3.10
>>> which came with the Goobuntu distribution, or a 4.3.10 which I built
>>> from source, but is occurring with 4.3.15 and a cvs checkout in
>>> between 4.3.11 and 4.3.12 which I built. I do not see the problem on
>>> my old debian box.
>>>
>>> By putting in some print statements, the first hang seems to occur
>>> at a command substitution
>>>
>>> | case "$(uname -s)" in
>>> | ...
>>>
>>> the last bit of strace up to the hang is:
>>>
>>> pipe([3, 4]) = 0
>>> fcntl(3, F_DUPFD, 10) = 13
>>> close(3) = 0
>>> fcntl(4, F_DUPFD, 10) = 14
>>> close(4) = 0
>>> rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD], 8) = 0
>>> clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f88402d89d0) = 26368
>>> close(14) = 0
>>> fcntl(13, F_GETFL) = 0 (flags O_RDONLY)
>>> fstat(13, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
>>> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f88402de000
>>> lseek(13, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
>>> read(13, ######## hangs here for 10-30 sec then continues
>> zsh isn't hanging; it's just waiting for the output of its forked child
>> process (uname). Try adding "-f" to your strace commandline, to follow
>> child processes.
>> --
>> Dan Nelson
>> dnelson@allantgroup.com
next prev parent reply other threads:[~2012-01-07 1:35 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-05 16:44 Greg Klanderman
2012-01-05 19:35 ` Dan Nelson
2012-01-07 1:12 ` Greg Klanderman
2012-01-07 1:27 ` Greg Klanderman [this message]
2012-01-07 1:28 ` Mikael Magnusson
2012-01-07 1:36 ` Greg Klanderman
2012-01-07 1:56 ` Mikael Magnusson
2012-01-07 7:17 ` Bart Schaefer
2012-01-07 20:17 ` Peter Stephenson
2012-01-09 20:19 ` Greg Klanderman
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=m3k454i9oy.fsf@klanderman.net \
--to=gak@klanderman.net \
--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).