This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: assertion "p >= path" failed


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.

Thanks,
Tim.
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



--
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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]