From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13693 invoked by alias); 5 Jan 2012 19:41:02 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 30088 Received: (qmail 15080 invoked from network); 5 Jan 2012 19:40:59 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.3.2 Received-SPF: none (ns1.primenet.com.au: domain at dan.emsphone.com does not designate permitted sender hosts) Date: Thu, 5 Jan 2012 13:35:18 -0600 From: Dan Nelson To: Greg Klanderman Cc: Zsh list Subject: Re: zsh hangs loading init files Message-ID: <20120105193518.GE80751@dan.emsphone.com> References: <20229.54117.22089.85103@gargle.gargle.HOWL> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20229.54117.22089.85103@gargle.gargle.HOWL> X-OS: FreeBSD 8.2-STABLE User-Agent: Mutt/1.5.21 (2010-09-15) X-Virus-Scanned: clamav-milter 0.97.2 at email2.allantgroup.com X-Virus-Status: Clean X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.6 (email2.allantgroup.com [199.67.51.78]); Thu, 05 Jan 2012 13:35:19 -0600 (CST) X-Scanned-By: MIMEDefang 2.68 on 199.67.51.78 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