threads / discuss / 62173

Git clone failure

Subject: Git clone failure

## tl;dr

7 messages between Sep 23, 2024 and Sep 26, 2024.

replies: 6people: 3as markdown or json

Krishna Vivek Vitta· Sep 23, 2024, 10:47 UTC · lore
Hi experts
Need your help in identifying the root cause for issue.
We've seen multiple reports of git repositories failing to clone / getting corrupted in p9 file system. The mount points under this file system are marked for FANOTIFY to intercept file system events
When we remove the marking on these mount points, git clone succeeds.

Following is the error message: kvitta@DESKTOP-OOHD5UG:/mnt/c/Users/Krishna Vivek$ git clone https://github.com/zlatko-michailov/abc.git gtest Cloning into 'gtest'... fatal: unknown error occurred while reading the configuration files

Any reason why it is failing ? Any help in this regard would be highly appreciated.

Thank you, Krishna Vivek

Konstantin Khomoutov· Sep 24, 2024, 14:20 UTC · re: Krishna Vivek Vitta · lore

Re: Git clone failure

On Mon, Sep 23, 2024 at 10:47:08AM +0000, Krishna Vivek Vitta wrote:
Show 7 quoted lines
> We've seen multiple reports of git repositories failing to clone / getting
> corrupted in p9 file system. The mount points under this file system are
> marked for FANOTIFY to intercept file system events
> 
> When we remove the marking on these mount points, git clone succeeds.
> 
> Following is the error message:
[...]
> fatal: unknown error occurred while reading the configuration files
> 
> Any reason why it is failing?
[...]
Are you able to build Git from the source?

As you can see in config.c, the error is reported in repo_read_config in the case the function config_with_options, it calls, fails. Since it's not expected to fail - except for some weird reasons, - you're probably dealing with such a reason, and so you'd probably need to debug it yourself because I hardly beleive it's easily possible for someone else to recreate your specific setup. The debugging might be a simple "printf-style" one - that is, navigate the call chain of these configuration-reading functions, stick calls to printf() in places where some nested function returns a value indicating an error exit, build, run, and see which of these printf() calls pinpoints the failure. You will probably trace this to call to some C-library I/O function.

brian m. carlson· Sep 24, 2024, 21:45 UTC · re: Krishna Vivek Vitta · lore

Re: Git clone failure

On 2024-09-23 at 10:47:08, Krishna Vivek Vitta wrote:
Show 13 quoted lines
> Hi experts
> 
> Need your help in identifying the root cause for issue.
> 
> We've seen multiple reports of git repositories failing to clone / getting corrupted in p9 file system. The mount points under this file system are marked for FANOTIFY to intercept file system events
> 
> When we remove the marking on these mount points, git clone succeeds.
> 
> Following is the error message:
> kvitta@DESKTOP-OOHD5UG:/mnt/c/Users/Krishna Vivek$ git clone https://github.com/zlatko-michailov/abc.git gtest Cloning into 'gtest'...
> fatal: unknown error occurred while reading the configuration files
> 
> Any reason why it is failing ? Any help in this regard would be highly appreciated.

Can you tell us more about what environment you're using? Is this Windows, macOS, Linux, WSL (1 or 2), or something else? What version of the OS is it? What is backing the 9p file system (and what file system type is it), and how are you mounting it? Is it a network file system? Are you using any sort of non-default antivirus, firewall, or monitoring software, and if so, have you tried to completely uninstall it and restart to see if that fixes the problem?

Also, are you using any sort of file syncing service for the directory in question, such as Dropbox or OneDrive? Those are known to corrupt repositories and the Git FAQ is clear that you must not store repositories within them.

The reason I ask all these questions is because I have an open source tool which allows mounting 9p file systems from a remote system by using the Linux kernel's 9p support and I don't see this problem. I don't think there's anything intrinsically problematic with 9p file systems, although you definitely need 9p2000.u or 9p2000.L (the Unix or Linux variants of the protocol) to make the file system suitably functional and POSIX compliant.

My guess is that there's something else about your environment that's causing the problem. It looks like maybe you're using some variant of WSL, and maybe you have an antivirus that's preventing the files from being read, which is causing this error on the Linux side. However, without more information, it's not really possible for me to say more about what might be going wrong.

-- 
brian m. carlson (they/them or he/him)
Toronto, Ontario, CA
Krishna Vivek Vitta· Sep 25, 2024, 08:49 UTC · re: brian m. carlson · lore

RE: [EXTERNAL] Re: Git clone failure

Hi Brian
Thanks for the response.
It is a WSL2 environment with kernel version: 5.15.153. We have used a kernel version 6.6.36.3 as well. Scenario fails there as well.
root@DESKTOP-OOHD5UG:/sys/kernel/debug/tracing# uname -a Linux DESKTOP-OOHD5UG 5.15.153.1-microsoft-standard-WSL2 #1 SMP Fri Mar 29 23:14:13 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Mount point information: C:\ on /mnt/c type 9p (rw,noatime,dirsync,aname=drvfs;path=C:\;uid=1000;gid=1000;symlinkroot=/mnt/,mmap,access=client,msize=65536,trans=fd,rfd=5,wfd=5)

We aren't using any sort of file syncing service.
We have installed a defender software which is marking mount points for FANOTIFY to intercept filesystem events. On removing the marking, git clone succeeds.

Thank you, Krishna Vivek

-----Original Message-----
From: brian m. carlson <sandals@crustytoothpaste.net>
Sent: Wednesday, September 25, 2024 3:16 AM
To: Krishna Vivek Vitta <kvitta@microsoft.com>
Cc: git@vger.kernel.org
Subject: [EXTERNAL] Re: Git clone failure
On 2024-09-23 at 10:47:08, Krishna Vivek Vitta wrote:
Show 15 quoted lines
> Hi experts
> 
> Need your help in identifying the root cause for issue.
> 
> We've seen multiple reports of git repositories failing to clone / 
> getting corrupted in p9 file system. The mount points under this file 
> system are marked for FANOTIFY to intercept file system events
> 
> When we remove the marking on these mount points, git clone succeeds.
> 
> Following is the error message:
> kvitta@DESKTOP-OOHD5UG:/mnt/c/Users/Krishna Vivek$ git clone https://github.com/zlatko-michailov/abc.git gtest Cloning into 'gtest'...
> fatal: unknown error occurred while reading the configuration files
> 
> Any reason why it is failing ? Any help in this regard would be highly appreciated.

Can you tell us more about what environment you're using? Is this Windows, macOS, Linux, WSL (1 or 2), or something else? What version of the OS is it? What is backing the 9p file system (and what file system type is it), and how are you mounting it? Is it a network file system? Are you using any sort of non-default antivirus, firewall, or monitoring software, and if so, have you tried to completely uninstall it and restart to see if that fixes the problem?

Also, are you using any sort of file syncing service for the directory in question, such as Dropbox or OneDrive?  Those are known to corrupt repositories and the Git FAQ is clear that you must not store repositories within them.
The reason I ask all these questions is because I have an open source tool which allows mounting 9p file systems from a remote system by using the Linux kernel's 9p support and I don't see this problem.  I don't think there's anything intrinsically problematic with 9p file systems, although you definitely need 9p2000.u or 9p2000.L (the Unix or Linux variants of the protocol) to make the file system suitably functional and POSIX compliant.

My guess is that there's something else about your environment that's causing the problem. It looks like maybe you're using some variant of WSL, and maybe you have an antivirus that's preventing the files from being read, which is causing this error on the Linux side. However, without more information, it's not really possible for me to say more about what might be going wrong. -- brian m. carlson (they/them or he/him) Toronto, Ontario, CA

brian m. carlson· Sep 25, 2024, 21:00 UTC · re: Krishna Vivek Vitta · lore

Re: [EXTERNAL] Re: Git clone failure

On 2024-09-25 at 08:49:11, Krishna Vivek Vitta wrote:
Show 15 quoted lines
> 
> Hi Brian
> 
> Thanks for the response.
> 
> It is a WSL2 environment with kernel version: 5.15.153. We have used a kernel version 6.6.36.3 as well. Scenario fails there as well.
> 
> root@DESKTOP-OOHD5UG:/sys/kernel/debug/tracing# uname -a Linux DESKTOP-OOHD5UG 5.15.153.1-microsoft-standard-WSL2 #1 SMP Fri Mar 29 23:14:13 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
> 
> Mount point information:
> C:\ on /mnt/c type 9p (rw,noatime,dirsync,aname=drvfs;path=C:\;uid=1000;gid=1000;symlinkroot=/mnt/,mmap,access=client,msize=65536,trans=fd,rfd=5,wfd=5)
> 
> We aren't using any sort of file syncing service.
> 
> We have installed a defender software which is marking mount points for FANOTIFY to intercept filesystem events. On removing the marking, git clone succeeds.

My guess is that whatever software you're using to intercept file system events is causing the "unknown error occurred while reading the configuration files" message and you should remove that software and reboot to see if the problem goes away, even though fanotify is enabled.

It's very common that the kind of "defender software" you're using breaks a variety of software, including Git and Git LFS, and in general, the recommendation we give in the Git FAQ is that you use only the system default antivirus (and on Linux or WSL, none, since there is no default).

-- 
brian m. carlson (they/them or he/him)
Toronto, Ontario, CA
Krishna Vivek Vitta· Sep 26, 2024, 07:11 UTC · re: brian m. carlson · lore

RE: [EXTERNAL] Re: Git clone failure

Hi Brian
Can you point me to the GIT FAQ about the recommendation.

Thank you, Krishna Vivek

-----Original Message-----
From: brian m. carlson <sandals@crustytoothpaste.net> 
Sent: Thursday, September 26, 2024 2:31 AM
To: Krishna Vivek Vitta <kvitta@microsoft.com>
Cc: git@vger.kernel.org
Subject: Re: [EXTERNAL] Re: Git clone failure
On 2024-09-25 at 08:49:11, Krishna Vivek Vitta wrote:
Show 19 quoted lines
> 
> Hi Brian
> 
> Thanks for the response.
> 
> It is a WSL2 environment with kernel version: 5.15.153. We have used a kernel version 6.6.36.3 as well. Scenario fails there as well.
> 
> root@DESKTOP-OOHD5UG:/sys/kernel/debug/tracing# uname -a Linux 
> DESKTOP-OOHD5UG 5.15.153.1-microsoft-standard-WSL2 #1 SMP Fri Mar 29 
> 23:14:13 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
> 
> Mount point information:
> C:\ on /mnt/c type 9p 
> (rw,noatime,dirsync,aname=drvfs;path=C:\;uid=1000;gid=1000;symlinkroot
> =/mnt/,mmap,access=client,msize=65536,trans=fd,rfd=5,wfd=5)
> 
> We aren't using any sort of file syncing service.
> 
> We have installed a defender software which is marking mount points for FANOTIFY to intercept filesystem events. On removing the marking, git clone succeeds.
My guess is that whatever software you're using to intercept file system events is causing the "unknown error occurred while reading the configuration files" message and you should remove that software and reboot to see if the problem goes away, even though fanotify is enabled.

It's very common that the kind of "defender software" you're using breaks a variety of software, including Git and Git LFS, and in general, the recommendation we give in the Git FAQ is that you use only the system default antivirus (and on Linux or WSL, none, since there is no default). -- brian m. carlson (they/them or he/him) Toronto, Ontario, CA

brian m. carlson· Sep 26, 2024, 11:54 UTC · re: Krishna Vivek Vitta · lore

Re: [EXTERNAL] Re: Git clone failure

On 2024-09-26 at 07:11:05, Krishna Vivek Vitta wrote:
> Hi Brian
> 
> Can you point me to the GIT FAQ about the recommendation.
Sure, it's part of the proxy text: https://git-scm.com/docs/gitfaq#proxy
-- 
brian m. carlson (they/them or he/him)
Toronto, Ontario, CA

← back to recent threads