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.