DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 612CQ16E3128160 Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 612CQ16E3128160 Authentication-Results: delorie.com; dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=e+HKZJ1p X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 401F14BB5927 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1770035159; bh=rAjt2eyR3FcdJJSAVmnjmPJXgsQExaerKn3hIoN2CWA=; h=References:In-Reply-To:Date:Subject:To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=e+HKZJ1pQrX9lPx5KUWNkxoKf6F+vOJz6a3dd0zu0Y8DECgjkfZS/M+rjtHuZ7wYY e9BO+g/wKMwY/c+mXxg3LTLtsm1BjKN1nDLkAQqze5GFigBidrQjVgKf23da1qSZsV pRj/CMuqgEU+4qSVk9l+okxUvyJake5zdpBzrsHI= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 334BD4BA9035 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 334BD4BA9035 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1770035109; cv=pass; b=EuzNagpfrXdZpIcIXIOrgTaDZQTOxD4IP6GaYi0r/KKU/1Iwxeiz3kdb9iMPYCr9KX5aIduOtAHZtEhwuWhpjW3XXRtMSb6U6nFvO8JTIxcytbsWmC9/g/q9VbtTebc7aXrMh0s6Deho8yhXotqept8nfpiWExsKXFZT4b5Mchw= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1770035109; c=relaxed/simple; bh=IxSQx/p/OZBxuKfBnZHf32ZJwAH4JzEG5R9bHtF/iOo=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=wQsj8Zt5W99SubQ49YL7OIDy+hq4rZqJ6T6cEOX/x41ksVCy6+GrPcb9za93fbh/nSgh1ye4Z/w6V0R9+vQnyk1xAWIkdLIa0u040KpQ3xaXCGre4J35K/xhBMahOnRvoh8+0XU1WD7Dfc87ShOgWQ0cSelp+XXp3pGzRPYxHik= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 334BD4BA9035 ARC-Seal: i=1; a=rsa-sha256; t=1770035108; cv=none; d=google.com; s=arc-20240605; b=C4fEvlEpzLAYc9J0Ps7hcSXWg3JgETuFg4Yag9MIEUz4buy8u8gVhiEbUjP3lUHHNY cOPBNdX54GI60Hu7biUVIyITSGmfVk5ZtEyrcGtFYVF5aEoPTF1kxw3DX/VFAlwI4UuU 5Di/JcJ0Q5BCvkBj75cRy3qbm4A4j9epIi+xrcSQ/D3MJH18usX2pWBcErVdmlUwpw+M 0hnxYrRWrqyucZIFrNg6fo2y9lnlYLXLbeiEsusMoG2Gr9EO+30RTQshSFreW329SOuK UkFJAI754dkAO/iyy63wbEZj79Xxxgmt1O41mtH1VF4YfXEBA0XQAwKO7nXBh+kdBD9k XOvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=kTIK+VbYKiNF/9R7UXv2KkyzFuHKkB42TQ/7vb+XSaw=; fh=UKNFaOBO97U3RYl3PEse//nArTqr7SLJjCCEBz281Ew=; b=gnowo4hO6Swg3VX/42pVH3UGtI/Ex8Drab6/eG7m6qagLx0K26HpPXx29eb038oCiZ dNr8NxOyyW/TEfTP14mnMRVYQ+bHNXVowF1aUPylrv05OAxdAqvTnlsTdYXKXIKzxney JGUVeugiJDMl/z3hC35PJb0QPLxTSObxvECBHHRe6eIcAqqXn1UN7ls4c3HPrjZhK7T5 YaFngO7l3O8w0gDk8uG5kJ2ryWKNrNuErAwDVBXhPSRcyNiyYVAiBZKlo08+uIx7HLIM Ea9kwsZpfTJjcKr1zZRjH/mYpYHVBMn+CrzmzHJdD1k90bN2k1urIp037EzKYz/Lbhm6 5ReQ==; darn=cygwin.com ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770035108; x=1770639908; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=kTIK+VbYKiNF/9R7UXv2KkyzFuHKkB42TQ/7vb+XSaw=; b=YtvvG6Cs0oWeZGCFas0DtXhcjrKrt78dFZku3AsdcWEiiOsCoCtK0QBIezx6K59SX8 HK9w3u+p0a7knOC1muNelppIzat/THBl9FeR9344h+YIHHt6gZCdxlOuthEu/TVGpl6W W55VQMInfczaI/GSVZJrZ6rd98nsmAeppnrjBVsX70yfg2dtOFYRvKYzZ+MQQmc5JYu4 aimmhlm2HJPP9Hx48AEUeceZveUzHnpxArGSBJK32dpOHTV/jPhBuSNpxP20oLAqadzx Szkurn17wKwEhkXTGjtjggZOgnSFcDl+e6149dIGujXOXbKBZmXL/M9Yzt9aM1gR4Hrl O4LQ== X-Gm-Message-State: AOJu0YxGwqOXLEd7ZLdst5k5reOYnWVLqaL8vV/SECE1cmT5JWuu8Gab Yken8yUmlHNJCsLeeHPhSMx0oRDxpRkMpTI3C5biRKMe5vem9WKg/slLFvQTHmU2V2Kt0x2MizZ pGgpZqFN60tR41JpEqCsrEPzsYOxnRHlJ4EifwwE= X-Gm-Gg: AZuq6aJSN3FGUEzhoeBMe+BmjMgEN9iTMES6yYOzABJYSJ1M3liYULdVxJODqBr7hkF CtlqACEiqHwS5MlffncpJ9AvLNnwYIM8G780EpbqWk3LD1iLnDnyIEJ+58Aet8rk/+qOba3QJsf Dtvgn5TuXpM3+miU8ymwGZs45O5H8LpcsZrW8t3rK1Azdy1Hs1ciPaHpSv4x+cGcxRRvpN8f6TX U5R8MMNMOKNwbjt+4sDQlEMM3WEWnik6Gy2G5yQnS+4J8AxY+B7TyMcR4I97zoXbEDPfaF77zuP EXk+XA== X-Received: by 2002:a05:6512:61a5:b0:59e:3041:8a2b with SMTP id 2adb3069b0e04-59e30418afcmr67265e87.46.1770035107304; Mon, 02 Feb 2026 04:25:07 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: Date: Mon, 2 Feb 2026 13:24:31 +0100 X-Gm-Features: AZwV_Qh2hwXB8GsoVS3C0CXf-qpWmGuT4oikgk_bdm4WucMSnHhi1M3Ie6imyfE Message-ID: Subject: Re: git fsck complains about error: refs/tags/.cyg000000000559e25517156b51cf219f51/libgcj-2.95.0: badRefName: invalid refname format?! To: cygwin AT cygwin DOT com X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 List-Id: General Cygwin discussions and problem reports List-Archive: List-Post: List-Help: List-Subscribe: , From: Dan Shelton via Cygwin Reply-To: Dan Shelton Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Cygwin" On Sun, 1 Feb 2026 at 18:08, Jon Turney wrote: > > On 31/01/2026 18:42, Dan Shelton via Cygwin wrote: > > Hello, on Cygwin 3.6.6-1.x86_64 on CYGWIN_NT-10.0-19045/Win10 I get > > these errors from git fsck when working on a clean clone of the > > gcc.git repro: > > > > git fsck > > error: refs/tags/.cyg000000000559e25517156b51cf219f51/libgcj-2.95.1: > > badRefName: invalid refname format > > error: refs/tags/.cyg000000000559e25517156b51cf219f51/libgcj-2.95.0: > > badRefName: invalid refname format > > error: refs/tags/.cyg000000000559e25817156b51cf219f51/libf2c-0.5.22: > > badRefName: invalid refname format > > error: refs/tags/.cyg000000000559e25817156b51cf219f51/libf2c-0.5.21: > > badRefName: invalid refname format > > > > git fsck then exits with error code 8, breaking our scripts. > > > > Is this a Cygwin bug or feature running wild? > Yes. > > These .cygXXX files are made by the cygwin DLL (I think it's something > like a hardlink to the running executable so we can fork even if it's > deleted, but I might well be misremembering the details) and are > supposed to get automatically removed. > > Obviously, 'git fsck' objects to their presence, but it is safe to > remove them. 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. I think this bug is there since a LONG time, and only bothers filesystems which are not NTFS. I made this testcase: -x-x-x-x-x-x-x-x-x-x-x-x- #include #include #include #include #include #include #ifdef _MSC_VER #pragma comment(lib, "ntdll.lib") #endif typedef LONG NTSTATUS; #ifndef NT_SUCCESS #define NT_SUCCESS(Status) (((NTSTATUS)(Status)) >= 0) #endif typedef struct _IO_STATUS_BLOCK { union { NTSTATUS Status; PVOID Pointer; } DUMMYUNIONNAME; ULONG_PTR Information; } IO_STATUS_BLOCK, *PIO_STATUS_BLOCK; typedef enum _FILE_INFORMATION_CLASS { FileRenameInformation = 10 } FILE_INFORMATION_CLASS; typedef struct _FILE_RENAME_INFORMATION { BOOLEAN ReplaceIfExists; HANDLE RootDirectory; ULONG FileNameLength; WCHAR FileName[1]; } FILE_RENAME_INFORMATION, *PFILE_RENAME_INFORMATION; #ifdef __cplusplus extern "C" { #endif NTSTATUS NTAPI NtSetInformationFile(HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, FILE_INFORMATION_CLASS); ULONG NTAPI RtlNtStatusToDosError(NTSTATUS); #ifdef __cplusplus } #endif static HANDLE OpenForRenameW(const wchar_t* fullDosPath) { DWORD share = FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE; DWORD flags = FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_OPEN_REPARSE_POINT; return CreateFileW(fullDosPath, GENERIC_READ | DELETE | SYNCHRONIZE, share, NULL, OPEN_EXISTING, flags, NULL); } int wmain(int ac, wchar_t *av[]) { wchar_t *srcfile = av[1]; wchar_t *dstfile = av[2]; if (ac != 3) { fwprintf(stderr, L"%ls: Usage: renametest \n", av[0]); return 2; } HANDLE srch = OpenForRenameW(srcfile); if (srch == INVALID_HANDLE_VALUE) { fwprintf(stderr, L"%ls: Cannot open srcfile, lasterr=%d\n", av[0], (int)GetLastError()); } PFILE_RENAME_INFORMATION fri; size_t fri_len = sizeof(FILE_RENAME_INFORMATION) + (wcslen(dstfile)+1)*sizeof(wchar_t); fri = calloc(1, fri_len); if (fri == NULL) { fwprintf(stderr, L"%ls: Out of memory\n", av[0]); return 2; } fri->ReplaceIfExists = TRUE; fri->RootDirectory = NULL; fri->FileNameLength = (wcslen(dstfile)+1)*sizeof(wchar_t); memcpy(&fri->FileName[0], dstfile, fri->FileNameLength); IO_STATUS_BLOCK isb = { 0 }; NTSTATUS status = NtSetInformationFile(srch, &isb, fri, fri_len, FileRenameInformation); printf("ntstatus=0x%lx\n", (long)status); CloseHandle(srch); return EXIT_SUCCESS; } -x-x-x-x-x-x-x-x-x-x-x-x- Dan -- Dan Shelton - Cluster Specialist Win/Lin/Bsd -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple