Skip to content

During git clone, gitea fails with accept4: too many open files; retrying in 1s #35649

@galets

Description

@galets

Description

Description

While pulling a large repository with LFS, Gitea instance stops responding. Website shows "500 Internal Server Error". Log shows (initially):

Oct 13 14:20:34 gitea gitea[75]: 2025/10/13 14:20:34 HTTPRequest [I] router: completed GET /api/internal/repo/galets/documents.git/info/lfs/objects/9634ecdcbb32d105bb617de1bd6e93bc4d78bef0f76a8890f862b3f56ce6056e for 10.17.0.2:0, 200 OK in 94.2ms @ lfs/server.go:83(lfs.DownloadHandler)
Oct 13 14:20:34 gitea gitea[75]: 2025/10/13 14:20:34 HTTPRequest [I] router: completed GET /api/internal/repo/galets/documents.git/info/lfs/objects/97968b00ff273fd1a85e53a793befba5a6e6dd0ad8486998f156b5c73cdbf484 for 10.17.0.2:0, 200 OK in 152.2ms @ lfs/server.go:83(lfs.DownloadHandler)
Oct 13 14:20:35 gitea gitea[75]: 2025/10/13 14:20:35 HTTPRequest [W] router: slow      GET /api/internal/repo/galets/documents.git/info/lfs/objects/8583e862b3ed1b0a6b7519dc237383ae58c1d97aac85acca0ccc0bf04a949e81 for 10.17.0.2:0, elapsed 3475.9ms @ lfs/server.go:83(lfs.DownloadHandler)
Oct 13 14:20:38 gitea gitea[75]: 2025/10/13 14:20:38 HTTPRequest [I] router: completed GET /api/internal/repo/galets/documents.git/info/lfs/objects/8583e862b3ed1b0a6b7519dc237383ae58c1d97aac85acca0ccc0bf04a949e81 for 10.17.0.2:0, 200 OK in 6255.2ms @ lfs/server.go:83(lfs.DownloadHandler)
Oct 13 14:20:38 gitea gitea[75]: 2025/10/13 14:20:38 HTTPRequest [W] router: slow      GET /api/internal/repo/galets/documents.git/info/lfs/objects/983f1289778dfa7964d4953f9312270353f958a14ca87b56c5ef6c6669fd1d25 for 10.17.0.2:0, elapsed 3234.2ms @ lfs/server.go:83(lfs.DownloadHandler)

Then:

Oct 13 14:14:28 gitea gitea[75]: 2025/10/13 14:14:28 modules/log/misc.go:71:(*loggerToWriter).Write() [I] http: Accept error: accept tcp [::]:3000: accept4: too many open files; retrying in 1s
Oct 13 14:14:29 gitea gitea[75]: 2025/10/13 14:14:29 modules/log/misc.go:71:(*loggerToWriter).Write() [I] http: Accept error: accept tcp [::]:3000: accept4: too many open files; retrying in 1s
Oct 13 14:14:30 gitea gitea[75]: 2025/10/13 14:14:30 modules/log/misc.go:71:(*loggerToWriter).Write() [I] http: Accept error: accept tcp [::]:3000: accept4: too many open files; retrying in 1s
Oct 13 14:14:31 gitea gitea[75]: 2025/10/13 14:14:31 modules/log/misc.go:71:(*loggerToWriter).Write() [I] http: Accept error: accept tcp [::]:3000: accept4: too many open files; retrying in 1s
Oct 13 14:14:32 gitea gitea[75]: 2025/10/13 14:14:32 modules/log/misc.go:71:(*loggerToWriter).Write() [I] http: Accept error: accept tcp [::]:3000: accept4: too many open files; retrying in 1s
Oct 13 14:14:33 gitea gitea[75]: 2025/10/13 14:14:33 modules/log/misc.go:71:(*loggerToWriter).Write() [I] http: Accept error: accept tcp [::]:3000: accept4: too many open files; retrying in 1s
Oct 13 14:14:34 gitea gitea[75]: 2025/10/13 14:14:34 modules/log/misc.go:71:(*loggerToWriter).Write() [I] http: Accept error: accept tcp [::]:3000: accept4: too many open files; retrying in 1s
Oct 13 14:14:35 gitea gitea[75]: 2025/10/13 14:14:35 modules/log/misc.go:71:(*loggerToWriter).Write() [I] http: Accept error: accept tcp [::]:3000: accept4: too many open files; retrying in 1s
Oct 13 14:14:36 gitea gitea[75]: 2025/10/13 14:14:36 modules/log/misc.go:71:(*loggerToWriter).Write() [I] http: Accept error: accept tcp [::]:3000: accept4: too many open files; retrying in 1s
Oct 13 14:14:37 gitea gitea[75]: 2025/10/13 14:14:37 modules/log/misc.go:71:(*loggerToWriter).Write() [I] http: Accept error: accept tcp [::]:3000: accept4: too many open files; retrying in 1s
Oct 13 14:14:38 gitea gitea[75]: 2025/10/13 14:14:38 modules/log/misc.go:71:(*loggerToWriter).Write() [I] http: Accept error: accept tcp [::]:3000: accept4: too many open files; retrying in 1s
Oct 13 14:14:39 gitea gitea[75]: 2025/10/13 14:14:39 modules/log/misc.go:71:(*loggerToWriter).Write() [I] http: Accept error: accept tcp [::]:3000: accept4: too many open files; retrying in 1s
Oct 13 14:14:40 gitea gitea[75]: 2025/10/13 14:14:40 modules/log/misc.go:71:(*loggerToWriter).Write() [I] http: Accept error: accept tcp [::]:3000: accept4: too many open files; retrying in 1s
Oct 13 14:14:41 gitea gitea[75]: 2025/10/13 14:14:41 modules/log/misc.go:71:(*loggerToWriter).Write() [I] http: Accept error: accept tcp [::]:3000: accept4: too many open files; retrying in 1s

git clone shows:

$ git clone ssh://gitea@*********/galets/documents.git
Cloning into 'documents'...
remote: Enumerating objects: 36549, done.
remote: Counting objects: 100% (36549/36549), done.
remote: Compressing objects: 100% (24795/24795), done.
remote: Total 36549 (delta 10668), reused 36495 (delta 10648), pack-reused 0 (from 0)
Receiving objects: 100% (36549/36549), 10.79 MiB | 12.14 MiB/s, done.
Resolving deltas: 100% (10668/10668), done.
Updating files: 100% (15543/15543), done.
Filtering content:  31% (4266/13761), 12.21 GiB | 17.92 MiB/s4 MiB/s

Once gitea server goes into that condition, it does not self-recover

Also:

$ ulimit -u
578039
$ cat /etc/systemd/system.conf | grep NOFILE
DefaultLimitNOFILE=65535:524288

Gitea Version

v1.24.6

Can you reproduce the bug on the Gitea demo site?

No

Log Gist

No response

Screenshots

No response

Git Version

No response

Operating System

Ubuntu 22.04 / Debian 13

How are you running Gitea?

Gitea is running in systemd container (nspawn). Host is running Ubuntu 22.04. Container is running Debian 13.

Database

SQLite

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions