System.AccessViolationException on CherryPick
まだ誰も着手していません。
評価
調査の方向性
C# で提供されている Download と GetLatestVersion の再現コードから、特に repo.CherryPick の呼び出しから始め、Windows 10 x64 上で .NET 5 と LibGit2Sharp 0.26.2 を使用します。このエントリーポイントから CherryPick の実行を追跡し、access violation が発生しなくなったことと、タグ付けされた commit が期待どおりに cherrypick されることを確認してください。
索引モデルが issue の本文から書いたものです。
説明
You are opening a bug report against the LibGit2Sharp project: we
use GitHub Issues for tracking bug reports and feature requests. If
you have a question about an API or usage, please ask on StackOverflow:
http://stackoverflow.com/questions/tagged/libgit2sharp.
Otherwise, to report a bug, please fill out the reproduction steps
(below) and delete these introductory paragraphs. Thanks!
Reproduction steps
public static void Main(string[] args) {
Download();
}
public static Tag GetLatestVersion()
{
using Repository repo = new("./");
return repo.Tags
// Order by version: 2.0.0, 1.2.0, 1.0.0, etc
.OrderByDescending(tag => tag.FriendlyName)
// Gets latest tag
.First();
}
public static void Download()
{
using Repository repo = new("./");
Tag latestTag = GetLatestVersion();
CherryPickOptions cherryPickOptions = new();
cherryPickOptions.FailOnConflict = false;
cherryPickOptions.FileConflictStrategy = CheckoutFileConflictStrategy.Theirs;
cherryPickOptions.FindRenames = true;
cherryPickOptions.IgnoreWhitespaceChange = false;
repo.CherryPick((Commit)latestTag.Target, new Signature(Program.Config.Update.GitName, Program.Config.Update.GitEmail, DateTimeOffset.Now), cherryPickOptions);
}
Expected behavior
Specific commit from tag to be cherrypicked
Actual behavior
System.AccessViolationException exception thrown. Message:
An unhandled exception of type 'System.AccessViolationException' occurred in LibGit2Sharp.dll:
'Attempted to read or write protected memory. This is often an indication that other memory is corrupt.'
<Cannot evaluate the exception stack trace>
Version of LibGit2Sharp (release number or SHA1)
0.26.2 (Nuget)
Operating system(s) tested; .NET runtime tested
Windows 10 64bit; Dotnet 5.0.202
- 主要言語
- C#
- スター
- 3.5k
- フォーク
- 925
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- 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 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
libgit2/libgit2sharp#2189 · リアクション 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
libgit2/libgit2sharp#2187 · コメント 2 件 ·
libgit2/libgit2sharp の issue をすべて見る
似ている issue
-
bug
難易度 1/5 1時間未満 初心者へのやさしさ 75/100
sillsdev/languageforge-lexbox#2665 ·
-
C: Syntax
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
bug documentation frontend
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
azurenoops/spin_agent#975 ·
-
: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 件 ·