From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12091 invoked from network); 20 Mar 2009 23:15:38 -0000 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.5 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 20 Mar 2009 23:15:38 -0000 Received-SPF: none (ns1.primenet.com.au: domain at sunsite.dk does not designate permitted sender hosts) Received: (qmail 20134 invoked from network); 20 Mar 2009 23:15:36 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 20 Mar 2009 23:15:36 -0000 Received: (qmail 5189 invoked by alias); 20 Mar 2009 23:15:29 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 26764 Received: (qmail 5170 invoked from network); 20 Mar 2009 23:15:28 -0000 Received: from bifrost.dotsrc.org (130.225.254.106) by sunsite.dk with SMTP; 20 Mar 2009 23:15:28 -0000 Received: from ey-out-2122.google.com (ey-out-2122.google.com [74.125.78.25]) by bifrost.dotsrc.org (Postfix) with ESMTP id 1ADC582CF026 for ; Sat, 21 Mar 2009 00:15:24 +0100 (CET) Received: by ey-out-2122.google.com with SMTP id 4so170793eyf.3 for ; Fri, 20 Mar 2009 16:15:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=ifGRvG2cj2/Ju7W/lboxDl1RhtFAXMFv3cQ2JEJZ2IM=; b=RJnLe01gsbInU7cytA19sCONyXMEOo6yTT4TzcVBY3lUaAEeUFyomHbNL3wj+GNlwh BqADJfFSCOvZLAR8OOr/txsl6ki1Ya0ZeJKpazLBLK86ltSGDEFVm0lM+0738B+Ewd3m RjDsLACxZgfJBFeKVbOMHJLgysophRlT66o8w= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=rmlahzfC3kkdcw4O5bQOg860HFtDCOE9crc+SYwlv1mr2W4RboNN0VPmRdGWzftuJh tw0LG16IuyUy4hRSEVTZMkyMTYVa+PCbglBFA6ls5wtLanKO99btsvqMesYBK6bJamJs 5OofHlkbe3S+UEIhVK2PdT4RBpBhaY5JouGlI= MIME-Version: 1.0 Received: by 10.210.61.11 with SMTP id j11mr1578096eba.64.1237590924502; Fri, 20 Mar 2009 16:15:24 -0700 (PDT) In-Reply-To: <20090320224856.73dae001@pws-pc> References: <237967ef0903201412h2a7b99c9ya5101509a3972313@mail.gmail.com> <20090320224856.73dae001@pws-pc> Date: Sat, 21 Mar 2009 00:15:24 +0100 Message-ID: <237967ef0903201615x72769fe4va86273c3fa07cb2e@mail.gmail.com> Subject: Re: cd -s symlink hangs (sometimes?) From: Mikael Magnusson To: zsh-workers Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Virus-Scanned: ClamAV 0.92.1/9145/Fri Mar 20 15:59:16 2009 on bifrost X-Virus-Status: Clean 2009/3/20 Peter Stephenson : > On Fri, 20 Mar 2009 22:12:30 +0100 > Mikael Magnusson wrote: >> zsh -f >> % mkdir a >> % ln -s a b >> % cd -s b >> cd: not a directory: b >> % cd -s b >> # kill -9 in another terminal >> zsh: killed zsh -f > > The following is reproducible (note I didn't actually create the > directory a): > > % zsh -f > % cd ~ > % pwd > /home/pws > % rm -f a b > % ln -s a b > % cd -s b > cd: not a directory: b > % /bin/pwd > / At first I thought you misunderstood my problem, since the above seems like a different problem, but the patch does fix my infinite loop. Just for fun I tried mkdir a; cd a; rmdir ../a; cd -s ../symlink, and it didn't break either. [5 minutes later] For some more fun I tried this, and it does still break: mkdir a ln -s a b cd a chmod -x . cd -s $PWD:h/b #infinite loop here still chdir("../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../../../../../../../../../../..= /../../../../../../../../../../../../../../../..") =3D 0 I think this is related to .. not being accessible when . is -x? I didn't study the code very closely (ie, I only read the patch context). I should also note that this is not something I tend to do very often, I was just thinking up ways in which the code might still fail. --=20 Mikael Magnusson