Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: zsh hangs loading init files
hmm looks like users/14411
greg
>>>>> On January 6, 2012 Greg Klanderman <gak@xxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxx
Messages sorted by:
Reverse Date,
Date,
Thread,
Author