zsh-workers
 help / color / mirror / code / Atom feed
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


  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).