X-Recipient: archive-cygwin AT delorie DOT com DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:subject:message-id:reply-to :references:mime-version:content-type:in-reply-to; q=dns; s= default; b=N5QawpQxJywI3dengqpcTXSDqinAWMPf9MtJOmMDeGUM2vLO0wVrv RW54rgkVsDmmj9eQ2V0+QQu+H/21z0xa9ZShoaWeQko83MxZakFUD98hSGPQK3Jd zlf9ikhMRWFN4gptdgRjn59r5f+SjHc5M0RERlpbQPtp5WZhWnow7I= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:subject:message-id:reply-to :references:mime-version:content-type:in-reply-to; s=default; bh=caJ9AmkGUauLOmrYQfjdkwSTQvA=; b=ZxL4sUCJez1lp75rWZoILrcSRwuz Q3kDiyy0zZIZQil3Lq8drvdKprcKZjDAkp4DCabtiwYh5JanegQHBQGpyV/Bf0Jl 4kthLbuPTiPtfzCr3dYX8HKtaH/WgwnAzrUyAlfAmCKfIEtIZKO5RO7f3hCDy0Mu /hwMsjYiSx7ssqg= Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-101.9 required=5.0 tests=BAYES_00,GOOD_FROM_CORINNA_CYGWIN,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 spammy=HX-Languages-Length:2167 X-HELO: mout.kundenserver.de Date: Thu, 5 Dec 2019 10:18:07 +0100 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: 3.0.7(0.338/5/3): Possible reference to Developer's instances of dev files in deployed build Message-ID: <20191205091807.GG3337@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <20191204210222 DOT GA3578 AT shackleton DOT labs DOT net> <754a577d-dac1-16e0-56a7-8be8ab1d424c AT cornell DOT edu> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="wtjvnLv0o8UUzur2" Content-Disposition: inline In-Reply-To: <754a577d-dac1-16e0-56a7-8be8ab1d424c@cornell.edu> User-Agent: Mutt/1.12.1 (2019-06-15) --wtjvnLv0o8UUzur2 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Dec 4 21:41, Ken Brown wrote: > On 12/4/2019 4:02 PM, Wilfed Olaf Sulla via cygwin wrote: > >> On 12/4/2019 2:26 PM, Wilfed Olaf Sulla via cygwin wrote: > >>> 692 83364 [main] ls 15015 normalize_posix_path: src Z:\ > >>> 35 83399 [main] ls 15015 normalize_win32_path: Z:\ =3D normali= ze_win32_path (Z:\) > >>> 24 83423 [main] ls 15015 mount_info::conv_to_win32_path: conv_= to_win32_path (Z:) > >>> 24 83447 [main] ls 15015 mount_info::conv_to_win32_path: src_p= ath Z:, dst Z:, flags 0x0, rc 0 > >>> 6738 90185 [main] ls 15015 symlink_info::check: 0xC0000034 =3D N= tCreateFile (\??\Z:\) > >>> 214 90399 [main] ls 15015 __assert_func: assertion "p >=3D path= " failed: > >> > >> I don't have time to check this carefully at the moment, but it looks = like > >> what's happening is the following: > >> > >> path_conv::check is called on 'Z:\'. It strips the trailing backslash= and calls > >> mount_info::conv_to_win32_path on 'Z:'. NtCreateFile fails with > >> STATUS_OBJECT_NAME_NOT_FOUND, which triggers the code containing the a= ssertion. > >> The assertion fails because 'Z:' doesn't contain a backslash. > >> > >> I'll have time tomorrow to think about how to best fix this, if Corinn= a doesn't > >> get to it first. > > Yes I noticed that, but it also strips the trailing back-slash for all > > of the other virtual drives at the same stage in the checks on them as > > well. >=20 > The difference is that NtCreateFile doesn't fail with=20 > STATUS_OBJECT_NAME_NOT_FOUND in the other cases, so the code containing t= he=20 > assertion doesn't get run. >=20 > BTW, I just tried the following on my system: >=20 > $ ls z:\\ > ls: cannot access 'z:\': No such file or directory >=20 > strace shows that NtCreateFile fails with STATUS_OBJECT_PATH_NOT_FOUND in= this=20 > case, so again the code containing the assertion is not run. >=20 > To be continued... So, maybe we could just check if ext_here - path > 2, i. e. if (status =3D=3D STATUS_OBJECT_NAME_NOT_FOUND && ext_here - path > 2) That excludes "X:" paths from this special handling for DOS-only drives. Corinna --=20 Corinna Vinschen Cygwin Maintainer --wtjvnLv0o8UUzur2 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEoVYPmneWZnwT6kwF9TYGna5ET6AFAl3oy08ACgkQ9TYGna5E T6DayA/9GgSD3nugyFKW7FiereWdQEmyAwBbNbMTRMXSi4FeKta9arr+nZhKJI8D uj1i5hOI5FdUZKB+qKexRssDDcm9gHI0GGWTRqOnmOSSVbpkqc3NaEfMRk/Ubtyf PyKFd8EWpkYHRxliXVzbW9/aqewh3ST19tRaroQdC/TqzkgaSVhWfppljKMo/0ml mbeSo3HpxNHjd0CScdvR6T52IxIj5LSEOKnJJFXidPZmRy0r6Zc3RAMI7SInAct/ U/TZCuda2tT1F3V8lKtaQZiFmCp5Ie22p/2jbwnBcGgamloqaCOZSTRMRshUCmcv 9vfZse2LBnbPzAywh2v5nZGOlb5F52CsgqnmgB4ROSDP/gz0SSPMH+ZWHzMoGkZR zkBBTQXt6LXFfsY6xrG1oA2P9EWWlTcajJVyQHZ6tdhnDSIYtVxrPB0GIrMBhOlY T6OIUlVqtnpT4pc4ZDobYsR9LvUf6iizMSQcvNihlkfm977z5bi6NmXJKCrp0wtV sUZyjp5uVmsj0vomUHtaIvO4lGFcBRfAIbctQTGXYHJ8EkhKIz4WedHt+aKh0eZ8 3ct6tvDhZ7AWXbjPHALRueGLDGJDwsXhYpv/7uyvgc8J/t/AeXqEK+JzZrkaM13I T6NY6fDlYrQUENqndDRB1of51Vy4O2pbupVg6oN8HAmK19Wy0JU= =tvgs -----END PGP SIGNATURE----- --wtjvnLv0o8UUzur2--