Access Violation on pushing to a new remote
还没有人认领这个 Issue。
评估
调研方向
在 Windows 10 和 .NET 6 上重现提供的 push 流程,重点关注 repository.Network.Push 以及堆栈跟踪中显示的对 branch.IsTracking 的访问。检查 Branch.ResolveTrackedBranch 和 git_branch_upstream_name 调用;当未跟踪的本地分支产生普通错误而不是访问冲突时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
Reproduction steps
using var repository = new Repository(_options.LocalRepositoryPath);
const string message = "message";
var commitOptions = new CommitOptions()
{
AllowEmptyCommit = false,
PrettifyMessage = true,
};
var authorSignature = new Signature(_options.Username, _options.Email, DateTimeOffset.UtcNow);
await UpdateReadmeFile();
repository.Index.Add("readme.md");
repository.Index.Write();
Commands.Stage(repository, "*");
repository.Commit(message, authorSignature, authorSignature, commitOptions);
PushOptions pushOptions = new PushOptions()
{
CredentialsProvider = (_, __, ___) => new DefaultCredentials(),
};
_logger.LogInformation("Pushing changes to remote");
_logger.LogDebug($"Branch has been tracked: {branch.IsTracking}");
repository.Network.Push(branch, pushOptions);
Expected behavior
Another error should occur when the local branch is not being tracked. But not an access violation exception.
Actual behavior
This craches with:
Fatal error. System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Repeat 2 times:
--------------------------------
at LibGit2Sharp.Core.NativeMethods.git_branch_upstream_name(LibGit2Sharp.Core.Handles.GitBuf, LibGit2Sharp.Core.git_repository*, System.String)
--------------------------------
at LibGit2Sharp.Core.Proxy.git_branch_upstream_name(LibGit2Sharp.Core.Handles.RepositoryHandle, System.String)
at LibGit2Sharp.Branch.ResolveTrackedBranch()
at System.Lazy`1[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].ViaFactory(System.Threading.LazyThreadSafetyMode)
at System.Lazy`1[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].ExecutionAndPublication(System.LazyHelper, Boolean)
at System.Lazy`1[[System.__Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].CreateValue()
at LibGit2Sharp.Branch.get_IsTracking()
Version of LibGit2Sharp (release number or SHA1)
Operating system(s) tested; .NET runtime tested
OS: Windows 10 Professional
.NET runtime: NET 6.0
- 主要语言
- 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
-
bug
难度 1/5 1 小时以内 新手友好度 75/100
sillsdev/languageforge-lexbox#2665 ·
-
bug documentation frontend
难度 2/5 1-3 小时 新手友好度 72/100
azurenoops/spin_agent#975 ·
-
难度 2/5 1-3 小时 新手友好度 86/100
-
:watch: Not Triaged 11.0 fundamentals/subsvc
难度 2/5 1-3 小时 新手友好度 92/100
dotnet/AspNetCore.Docs#37699 ·
-
难度 2/5 1-3 小时 新手友好度 72/100
SubtitleEdit/subtitleedit#15108 · 1 条评论 ·