Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: "Once-a-day" long delay before startup



On 19.08.2011 05:52, Bart Schaefer wrote:
> On Aug 19, 12:08am, Piotr Karbowski wrote:
> }
> } +compaudit:90>  (( UID == EUID  ))
> }
> } after that it take about 7-8s of nothing and then:
> }
> } +compaudit:91>  getent group slashbeast
>
> The compaudit script wants to check that you haven't allowed someone
> else to feed autoloadable functions to your shell, which would be a
> large security risk.
>
> The getent call is used to read the system's groups database for the
> groups of your login user, so that the shell can then check whether
> other persons in that group might have write access to your fpath.
> (There is an assumption that getent is in /usr/bin, so if it's not
> there the check relies on the local /etc/group file.)
>
> If you're in an environment (such as, say, a university or a large
> corporation) where the groups database is networked and may contain
> hundreds or even thousands of entries, that "getent" call can take a
> very long time.
>
> After one reading, though, your system has cached the database and
> until the cache expires or is flushed subsequent calls to "getent"
> return almost instantly.
>
> You can skip this security check by using "compinit -u" when you
> load the completion system.
>

Thats is not the case I think. I have had did what gi1241 did to test it and even without this 'gentent' I am getting this lag just before dircolors is executed.

% ZDOTDIR=/tmp zsh -xd 2>&1 | tee /tmp/zsh.log
+/tmp/.zshrc:1> print -P 'zsh-4.3.12 (1.5346)'
zsh-4.3.12 (1.5346)
+/tmp/.zshrc:2> which dircolors
### lag starts here.
/usr/bin/dircolors

-- Piotr.



Messages sorted by: Reverse Date, Date, Thread, Author