throw LibGit2SharpException or repo.Head.TIp==null while parallel
还没有人认领这个 Issue。
评估
调研方向
先使用 Repository(gitpath)、repo.Commits 和 repo.Head.Tip 进行并行复现,然后使用 LibGit2Sharp 0.16.0.0 在 Linux repository 上运行。调查并发构造或访问 repository 是否会导致 mmap 失败和 null tip;当报告的并行操作不再产生这两种现象中的任何一种时,即视为完成;如果项目有合适的测试位置,则添加 regression test。
由索引模型根据 Issue 内容生成。
描述
Updated. Code simplified
// use LibGit2Sharp.0.16.0.0 from nuget
// https://github.com/torvalds/linux
var gitpath = @"path/to/linux/source";
var times = 10;
for (int i = 0; i < times; i++)
{
Task.Run(() =>
{
using (var repo = new Repository(gitpath))
{
// sometimes throw LibGit2SharpException here
// An exception of type 'LibGit2Sharp.LibGit2SharpException' occurred in LibGit2Sharp.dll but was not handled in user code
// Additional information: An error was raised by libgit2. Category = Os (Error).
// Failed to mmap. No data written: Not enough storage is available to process this command.
foreach (var commit in repo.Commits)
{
}
}
});
}
while (true)
{
using (var repo = new Repository(gitpath))
{
// sometimes repo.Head.Tip == null
repo.Head.Tip.ToString();
}
}
- 主要语言
- C#
- 星标
- 3.5k
- 派生
- 925
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
libgit2/libgit2sharp 的其他 Issue
-
难度 4/5 3-5 天 新手友好度 52/100
libgit2/libgit2sharp#2193 · 2 条评论 ·
-
难度 4/5 3-5 天 新手友好度 38/100
libgit2/libgit2sharp#2192 · 1 条评论 ·
-
Website is down 未关闭
难度 4/5 3-5 天 新手友好度 20/100
libgit2/libgit2sharp#2191 · 2 个 reaction ·
-
难度 3/5 1-2 天 新手友好度 68/100
libgit2/libgit2sharp#2189 · 1 个 reaction ·
-
难度 3/5 1-2 天 新手友好度 35/100
libgit2/libgit2sharp#2187 · 2 条评论 ·
查看 libgit2/libgit2sharp 的全部 Issue
相似的 Issue
-
type/automation type/tech-debt
难度 2/5 1-3 小时 新手友好度 78/100
-
t/bug
难度 2/5 1-3 小时 新手友好度 82/100
-
area:auth FE mvp P3
难度 2/5 1-3 小时 新手友好度 88/100
klasolsson81/jobbliggaren#1788 ·
-
难度 2/5 1-3 小时 新手友好度 82/100
OrchardCMS/OrchardCore#19919 · 2 条评论 ·
-
app-frontend: parked task URL throws 'Unknown task type' once the process moves on to a signing task 未关闭area/process kind/bug squad/flyt squad/utforming
难度 2/5 1-3 小时 新手友好度 84/100
Altinn/altinn-studio#20570 ·