From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10530 invoked by alias); 5 Jan 2012 16:53:08 -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: 30086 Received: (qmail 7431 invoked from network); 5 Jan 2012 16:52:47 -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,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.2 Received-SPF: none (ns1.primenet.com.au: domain at klanderman.net does not designate permitted sender hosts) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <20229.54117.22089.85103@gargle.gargle.HOWL> Date: Thu, 5 Jan 2012 11:44:21 -0500 From: Greg Klanderman To: Zsh list Subject: zsh hangs loading init files Reply-To: gak@klanderman.net X-Mailer: VM 8.0.12-devo-585 under 21.4 (patch 17) "Jumbo Shrimp" XEmacs Lucid (i386-redhat-linux) 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: rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD], 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [CHLD], [CHLD], 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [CHLD], [CHLD], 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [CHLD], [CHLD], 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [CHLD], [CHLD], 8) = 0 rt_sigaction(SIGINT, {0x476250, [], SA_RESTORER|SA_INTERRUPT, 0x7f883f6c1af0}, NULL, 8) = 0 rt_sigaction(SIGINT, {0x476250, [], SA_RESTORER|SA_INTERRUPT, 0x7f883f6c1af0}, NULL, 8) = 0 rt_sigaction(SIGINT, {0x476250, [], SA_RESTORER|SA_INTERRUPT, 0x7f883f6c1af0}, NULL, 8) = 0 rt_sigaction(SIGINT, {0x476250, [], SA_RESTORER|SA_INTERRUPT, 0x7f883f6c1af0}, NULL, 8) = 0 rt_sigaction(SIGINT, {0x476250, [], SA_RESTORER|SA_INTERRUPT, 0x7f883f6c1af0}, NULL, 8) = 0 rt_sigaction(SIGINT, {0x476250, [], SA_RESTORER|SA_INTERRUPT, 0x7f883f6c1af0}, NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 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 I suppose at this point I will binary search for the commit that broke things and go from there, but wanted to put this out in case anyone has any ideas what it might be. thanks, Greg