gitea: Git.exe Processes Hanging / Not Cleaning Up

Gitea Version

1.16.1

Git Version

2.35.1.windows.2

Operating System

Windows Server 2012 R2

How are you running Gitea?

  • Using the prebuilt package for 1.16.1 - gitea-1.16.1-windows-4.0-amd64.exe
  • Running via IIS with a forward proxy to pass traffic to the Gitea instance.
  • Gitea is running as a system service.

Database

MySQL

Can you reproduce the bug on the Gitea demo site?

No

Log Gist

No response

Description

When running for an extended period of time, we are noticing that git.exe instances are left open/hanging. After about 25-30 instances are left open, the site just starts throwing 500 errors. It becomes impossible to do anything on the site outside of viewing the main page and admin panel.

This issue seems to be an exact copy of this: https://github.com/go-gitea/gitea/issues/17138

I am seeing the same thing.

Monitor page shows tons of entries for things like this:

C:\Program Files\Git\cmd\git.exe -c credential.helper= -c protocol.version=2 -c uploadpack.allowfilter=true check-attr --stdin -z --cached linguist-vendored linguist-generated linguist-language gitlab-language -- [repo_path: PATH\TO\REPO\HERE.git]

There are also other monitored processes stuck:

GET: /PATH/TO/REPO/HERE/commits/commit/COMMIT_HASH_HERE/path/to/file.h?lang=pt-BR
3 hours ago
  C:\Program Files\Git\cmd\git.exe cat-file --batch-check [repo_path: PATH\TO\REPO\HERE.git] (modules/context/repo.go:559)
  3 hours ago
  C:\Program Files\Git\cmd\git.exe cat-file --batch [repo_path: PATH\TO\REPO\HERE.git] (modules/context/repo.go:559)
  3 hours ago
GET: /PATH/TO/REPO/HERE/commit/COMMIT_HASH_HERE.diff
2 hours ago
  C:\Program Files\Git\cmd\git.exe cat-file --batch [repo_path: PATH\TO\REPO\HERE.git] (modules/context/repo.go:559)
  2 hours ago
  C:\Program Files\Git\cmd\git.exe cat-file --batch-check [repo_path: PATH\TO\REPO\HERE.git] (modules/context/repo.go:559)
  2 hours ago
C:\Program Files\Git\cmd\git.exe cat-file --batch [repo_path: PATH\TO\REPO\HERE.git] (modules/git/repo_base_nogogit.go:41)

And so on. The main one is the first reported entry, there are lots of those ones.

This is a bit rough to diagnose as it does not happen immediately. It takes a few hours before we start seeing the instances begin hanging.

Screenshots

No response

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 15 (7 by maintainers)

Most upvoted comments

Sorry about this bug

Fixed by #18754 Fixed by #18755

I’m also seeing a bunch of processes piling on, one for each repo. As well, also seeing the unable to remove tmp index file errors.

After a few hours, every repo is a 500, but a restart fixes it all like above.

These are the processes i’m seeing being backed up: C:\Program Files\Git\cmd\git.exe -c credential.helper= check-attr --stdin -z --cached linguist-vendored linguist-generated linguist-language gitlab-language -- [repo_path: C:\Path\To\Repositories\my_repo.git]