assertion "p >= path" failed

Ken Brown kbrown@cornell.edu
Wed Dec 11 23:51:00 GMT 2019


On 11/4/2019 7:49 AM, Tim Adye wrote:
> Hi Ken,
> 
> On 31/10/2019 18:19, Ken Brown wrote:
>> [Please don't top-post on this list.  Thanks.]
>>
>> On 10/30/2019 7:56 PM, Tim Adye wrote:
>>> I'm afraid I get a very similar error with 3.1.0-0.7:
>>>
>>> assertion "p >= path" failed: file
>>> "/home/kbrown/src/cygpackages/cygwin/cygwin-3.1.0-0.7.x86_64/src/newlib-cygwin/winsup/cygwin/path.cc", 
>>>
>>> line 2906, function: int symlink_info::check(char*, const suffix_info*,
>>> fs_info&, path_conv_handle&)
>> OK, so your issue is different from the one that was fixed.
>>
>>> Again following resume from hibernation after going offline with the offline
>>> files as HOME (H:\).
>> I'm not familiar with offline files, so it would help if you would explain this
>> in complete detail.
> 
> Offline Files is a feature of Sync Center that makes network files available to 
> a user, even if the network connection to the server is unavailable. Windows 
> keeps a copy of files stored on the network on the local computer. This allows 
> users to work with them even when they are not connected to the network or a 
> server is unavailable. The next time the user connects to the network or the 
> server is available, their offline files on your computer will automatically 
> sync to the network files on the server.
> 
> I have it set up to keep a local copy of a mapped network drive that holds my 
> files (Cygwin $HOME). As I understand it (eg. explained in 
> https://docs.microsoft.com/en-us/windows-server/storage/folder-redirection/folder-redirection-rup-overview), 
> when the system goes offline, Windows uses the "Folder Redirection" feature to 
> redirect access to the client-side cache, C:\Windows\CSC.
> 
> I guess Cygwin can choke on this redirected path.
>> It would also help if you could capture the assertion failure in a debugger.  Do
>> you know how to use gdb?  If so, I would suggest attaching gdb to bash before
>> hibernating, and putting a breakpoint at symlink_info::check.  Assuming that gdb
>> is still usable after you resume from hibernation, we ought to be able to find
>> the cause of the assertion failure.
> 
> I will try this, but it will be tricky, because I don't get the assertion every 
> time I go offline / hibernate. I'll see if I can work out how to provoke the bug 
> reliably. I don't remember the situation from every time it's happened, but I 
> think perhaps it can happen if there is a bash window open at the time. bash 
> still works, but it can't run anything else, nor can I start any new processes. 
> If so, your test might be possible, but might not see the symptom, since the 
> problem seems to be in processes started by bash. But I'll try.

Hi Tim,

I don't know if you noticed the thread starting here:

   https://cygwin.com/ml/cygwin/2019-12/msg00016.html

The problem reported there has been fixed, and I hope that the fix also works 
for your problem.  You can test it by installing the latest snapshot from 
https://cygwin.com/snapshots/.

Thanks.

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