This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: 3.0.7(0.338/5/3): Possible reference to Developer's instances of dev files in deployed build
- From: Ken Brown <kbrown at cornell dot edu>
- To: "cygwin at cygwin dot com" <cygwin at cygwin dot com>
- Date: Wed, 4 Dec 2019 21:41:13 +0000
- Subject: Re: 3.0.7(0.338/5/3): Possible reference to Developer's instances of dev files in deployed build
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cornell.edu; dmarc=pass action=none header.from=cornell.edu; dkim=pass header.d=cornell.edu; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LWVTFvdwylBtijCZ7+t5H2GuAyHaluTiKIj3R/f40Sg=; b=ig5iVh6Cmo7bSIUwnbCitPuhhEjsbV1TdWIagCxRSFrmfevnMJewf2JyDRfj1tRlgt0fBDLWrjrnqG88iQRGMKDk6+9KiWzRVA2HDUJ1OYQkO6GYuGUUg4BN2TmK67+jDLuEy9usLr9aZ6oBmEsLAbsKFCzcWHk4PALsRB8PvH11hWLhr9LBaxs3VNAQfE5Kn5Ube0jAaGpKPp2Xfl/4gL9Y73Jm6IqSQ41dLy8L8YVhr9W3B1FdyenIU7QbQzChTBRRoMu/R7Mci22s1xIUWVPDC1Z/vu/q9nC8QprpTuf4+1PbMYCrt+sEvtgjG3jsirqoYUhm0hhhh8rPm9i4KQ==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GisiUhgCp5oRuRSTRbqblyYhD4QC2lrBTceV4ihViUANMU6oI5bSvXhv33Zi01Hpt0zPoMNKu/TiDzNl9dQZwPyMC4mNyE4zIu6jVQPo6Qof5TnxJHA4J9y1zcQ76wklOGbXPuBCuhUbf+e/XwqoaNUdBTKW4Mmh0ZfdqwOm7kfY/tnBsItrpI7IlT0+MTRUYW0EYosbfLq5/GhsphUpH00LrD5TE2iywsF7JjJ98Te7OGeOkLtm6GJz7xpx7ESU1BqOlrTbNc7Q43K5+lGChiMRVjyoMyFCyZ0SUg7oX4lejtoMYRG3cG63areG7NqC+DqYnwaVlKz8ChGPlkZeog==
- References: <20191204210222.GA3578@shackleton.labs.net>
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:\ = normalize_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_path Z:, dst Z:, flags 0x0, rc 0
>>> 6738 90185 [main] ls 15015 symlink_info::check: 0xC0000034 = NtCreateFile (\??\Z:\)
>>> 214 90399 [main] ls 15015 __assert_func: assertion "p >= 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 assertion.
>> The assertion fails because 'Z:' doesn't contain a backslash.
>>
>> I'll have time tomorrow to think about how to best fix this, if Corinna 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.
The difference is that NtCreateFile doesn't fail with
STATUS_OBJECT_NAME_NOT_FOUND in the other cases, so the code containing the
assertion doesn't get run.
BTW, I just tried the following on my system:
$ ls z:\\
ls: cannot access 'z:\': No such file or directory
strace shows that NtCreateFile fails with STATUS_OBJECT_PATH_NOT_FOUND in this
case, so again the code containing the assertion is not run.
To be continued...
Ken
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple