3.0.7(0.338/5/3): Possible reference to Developer's instances of dev files in deployed build
Ken Brown
kbrown@cornell.edu
Wed Dec 4 21:41:00 GMT 2019
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
More information about the Cygwin
mailing list