delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/05/07/13:08:17

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-ID: <427CF5F5.2030907@byu.net>
Date: Sat, 07 May 2005 11:08:05 -0600
From: Eric Blake <ebb9 AT byu DOT net>
User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317)
MIME-Version: 1.0
To: cygwin AT cygwin DOT com, bug-coreutils AT gnu DOT org
Subject: Re: mkdir -p and network drives
References: <SERRANO9tjxqxPs68K800000243 AT SERRANO DOT CAM DOT ARTIMI DOT COM> <Pine DOT GSO DOT 4 DOT 61 DOT 0505051659550 DOT 9005 AT slinky DOT cs DOT nyu DOT edu> <87k6mc1au3 DOT fsf AT penguin DOT cs DOT ucla DOT edu> <20050506204324 DOT GJ29240 AT trixie DOT casa DOT cgf DOT cx> <8764xvbl2n DOT fsf AT penguin DOT cs DOT ucla DOT edu> <20050507154332 DOT GF11243 AT trixie DOT casa DOT cgf DOT cx>
In-Reply-To: <20050507154332.GF11243@trixie.casa.cgf.cx>
X-IsSubscribed: yes

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Christopher Faylor on 5/7/2005 9:43 AM:
>>Which Bash bug is that?
> 
> Bash is the most important program for which 'that chdir("//") is
> currently no different from chdir("/")'.

Is that a bug in bash or in cygwin, though?  The comments for cygwin
bash-2.05b-17 mention that a patch from Corinna Vinschen was applied to
avoid turning '/' into '//' when converting/checking path.  And `strace
bash -c 'chdir //' shows:

   32 20141553 [main] bash 1564 mount_info::conv_to_posix_path: // =
conv_to_posix_path (//)
  112 20141665 [main] bash 1564 chdir: dir '//'
   29 20141694 [main] bash 1564 normalize_posix_path: src //
   30 20141724 [main] bash 1564 normalize_posix_path: / =
normalize_posix_path (//)
   29 20141753 [main] bash 1564 mount_info::conv_to_win32_path:
conv_to_win32_path (/)
   32 20141785 [main] bash 1564 set_flags: flags: binary (0x2)
   65 20141850 [main] bash 1564 mount_info::conv_to_win32_path: src_path
/, dst c:\cygwin, flags 0xA, rc 0
   89 20141939 [main] bash 1564 symlink_info::check: not a symlink
   32 20141971 [main] bash 1564 symlink_info::check: 0 = symlink.check
(c:\cygwin, 0x22E6D0) (0xA)
   32 20142003 [main] bash 1564 path_conv::check: this->path(c:\cygwin),
has_acls(1)
   76 20142079 [main] bash 1564 chdir: 0 = chdir() cygheap->cwd.posix '/'
native 'c:\cygwin'

And this simple trace backs that up:

$ cd //
$ pwd
//
$ /bin/pwd
/

So it was the cygwin normalization code that turned '//' into '/', while
bash thinks the current dir is '//'.  What breaks if the cygwin chdir()
normalization code is changed to not turn '//' into '/'?

> Our track record for getting cygwin fixes into bash has been mixed.
> I believe that someone has tried to get this fixed previously, along
> with an even more serious problem with bash getting confused by
> quick pid reuse but I believe that both problem still exist in
> bash 3.0.

Does bash 3.0 still have the bug that Corinna's patch to 2.05b fixed?  At
any rate, there is no official cygwin bash 3.0, because there has still
been no volunteer to step up and produce a cygwin compilation of bash.

- --
Life is short - so eat dessert first!

Eric Blake             ebb9 AT byu DOT net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFCfPX184KuGfSFAYARAtRIAKDYJxaPVMFBvTBky1Pn0Ql2C9YM8wCggSWm
eGq3zgHS7Slnz12CrIsApTs=
=/1q1
-----END PGP SIGNATURE-----

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019