Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sapling uses too many file descriptors #997

Open
stepancheg opened this issue Dec 18, 2024 · 1 comment
Open

Sapling uses too many file descriptors #997

stepancheg opened this issue Dec 18, 2024 · 1 comment

Comments

@stepancheg
Copy link
Contributor

Probably it leaks file descriptors.

Cannot clone a repository.

The repository is private, so no repro. Probably other big repos fail to, I didn't check.

sl clone [email protected]:xxx/yyy zzz --shallow
remote: Enumerating objects: 224387, done.
remote: Counting objects: 100% (74125/74125), done.
remote: Compressing objects: 100% (15201/15201), done.
remote: Total 224387 (delta 67996), reused 58941 (delta 58915), pack-reused 150262 (from 4)
Receiving objects: 100% (224387/224387), 623.95 MiB | 9.28 MiB/s, done.
Resolving deltas: 100% (158570/158570), done.
From ssh://github.com/xxx/yyy
 * [new ref]             802b20473d68aca94b4fe0790703a598d25a5d17 -> remote/main
pulling submodule zzzz
abort: "/Users/st/.../.sl/store/segments/v1/iddag/rlock": cannot open for locking
in Log:try_clone
  Log.dir = SharedMeta { path: Filesystem("/Users/st/.../.sl/store/gitmodules/d478797433a42fabf48ce2b4082e43e366f1b09f/.sl/store/segments/v1/iddag"), meta: Mutex { data: LogMetadata { primary_len: 12, indexes: {}, epoch: 277940781026623667 }, poisoned: false, .. } }
Caused by 1 errors:
- Too many open files (os error 24)
@quark-zju
Copy link
Contributor

This is currently a limitation of libgit2. We wish to eventually migrate off libgit2 but it won't happen soon. You might want to increase the system fd limit for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants