git fsck complains about error: refs/tags/.cyg000000000559e25517156b51cf219f51/libgcj-2.95.0: badRefName: invalid refname format?!

Corinna Vinschen corinna-cygwin@cygwin.com
Mon Feb 2 16:04:42 GMT 2026


On Feb  2 14:47, Dan Shelton via Cygwin wrote:
> On Mon, 2 Feb 2026 at 14:40, Corinna Vinschen via Cygwin
> <cygwin@cygwin.com> wrote:
> >
> > On Feb  2 13:24, Dan Shelton via Cygwin wrote:
> > > I'm not sure whether the Cygwin code is correct. I did a peek with a
> > > kernel debugger, and I see that FILE_RENAME_INFORMATION.RootDirectory
> > > is always NULL if a file gets renamed to .cyg000000000xxxx. But if I
> > > try that with NTFS or SMB, the NtSetInformationFile() to set
> > > FileRenameInformation always fails.
> >
> > Your testcase is incorrect, unfortunately.
> >
> > >     fri->FileNameLength = (wcslen(dstfile)+1)*sizeof(wchar_t);
> >
> > For NT file paths, never count the trailing \0 to the length:
> >
> >       fri->FileNameLength = wcslen(dstfile) * sizeof (WCHAR);
> >
> > With that, your testcase works fine for me.
> >
> > On which filesystem did you see the problem?
> 
> Windows NFSv3 client (the builtin one, not the newer NFSv4.1 one).

The files in question are actually files which got renamed while
in use.  I don't know another way to implement removing in-use files
on remote file systems not supporting delete POSIX semantics.  If
somebody has a brilliant idea, https://cygwin.com/acronyms/#PTC.


Corinna


More information about the Cygwin mailing list