AccessViolationException accessing Commit.Parents concurrently on Linux .NET 10
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 38/100
Línea de trabajo
Comienza reproduciendo VersionOracleTests.CloudBuildNumber_4thPosition en el trabajo de Ubuntu 24.04 GitHub Actions enlazado y, después, inspecciona TryCalculateHeight, donde se accede a Commit.Parents de forma concurrente. Compara el comportamiento con las colecciones de pruebas serializadas temporalmente y determina si se admiten operaciones independientes del repositorio; se considera terminado cuando se documente la causa y se proporcione una corrección confirmada o una guía para las versiones actuales del paquete.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Environment
- LibGit2Sharp 0.32.0
- LibGit2Sharp.NativeBinaries 2.0.324 (libgit2 1.8.6)
- .NET SDK/runtime 10.0.400
- Linux x64, GitHub-hosted Ubuntu 24.04 runner
Failure
A test process intermittently terminates with System.AccessViolationException while accessing Commit.Parents during a version-height calculation. The test uses distinct temporary repositories per test instance, and the LibGit2Context and its Repository are both live and strongly referenced throughout the failing call.
The latest occurrence is in this public GitHub Actions job:
https://github.com/dotnet/Nerdbank.GitVersioning/actions/runs/33464845055/job/99722455984
Relevant managed stack:
System.AccessViolationException: Attempted to read or write protected memory.
at Nerdbank.GitVersioning.LibGit2.LibGit2GitExtensions.<GetCommitHeight>g__TryCalculateHeight|19_0(LibGit2Sharp.Commit, <>c__DisplayClass19_0 ByRef)
at Nerdbank.GitVersioning.LibGit2.LibGit2GitExtensions.GetCommitHeight(LibGit2Sharp.Commit, GitWalkTracker, Func<Commit, Boolean>)
at Nerdbank.GitVersioning.LibGit2.LibGit2GitExtensions.GetVersionHeight(LibGit2Context, Version)
at Nerdbank.GitVersioning.LibGit2.LibGit2Context.CalculateVersionHeight(VersionOptions, VersionOptions)
at Nerdbank.GitVersioning.VersionOracle..ctor(GitContext, ICloudBuild, Nullable<Int32>)
at VersionOracleTests.CloudBuildNumber_4thPosition(...)
TryCalculateHeight is walking commit.Parents; this theory does not configure path filters, so it does not call Diff.Compare.
Investigation
We found and fixed separate repository-local lifetime defects where a lazy commit query escaped its context and a VersionOracle retained a disposed context. This crash persists after those fixes, and the present stack has no escaped lazy sequence or disposed native owner.
The test assembly's normal xUnit test-collection parallelism is the remaining variable. We are temporarily serializing test collections to prevent the intermittent native process crash, but would prefer a LibGit2Sharp/libgit2 fix or guidance about concurrent independent repository operations on Linux/.NET 10.
Related historical reports include #988 and #1513, but this report targets the current package versions and live-context Commit.Parents failure.
- Lenguaje dominante
- C#
- Estrellas
- 3.5k
- Forks
- 925
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de libgit2/libgit2sharp
-
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
libgit2/libgit2sharp#2193 · 2 comentarios ·
-
Website is down Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 20/100
libgit2/libgit2sharp#2191 · 2 reacciones ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
libgit2/libgit2sharp#2189 · 1 reacción ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
libgit2/libgit2sharp#2187 · 2 comentarios ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
libgit2/libgit2sharp#2184 · 1 comentario ·
Todos los issues de libgit2/libgit2sharp
Issues similares
-
bug documentation frontend
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
azurenoops/spin_agent#975 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
-
:watch: Not Triaged 11.0 fundamentals/subsvc
Dificultad 2/5 1-3 horas Aptitud para principiantes 92/100
dotnet/AspNetCore.Docs#37699 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
SubtitleEdit/subtitleedit#15108 · 1 comentario ·
-
area/docs-content Bug pulumi/docs
Dificultad 1/5 1-3 horas Aptitud para principiantes 94/100