Leak when iterating through commits and diff them

Offen
#1,359 4 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
25/100
Issue-Typ
Bug
Klarheit
Muss geklärt werden
Aktivitätsstatus
Veraltet
Tech-Stack
csharp, git
Bereich
devtools

Rechercherichtung

Beginne damit, die im GitHub Gist des Issues verlinkte Reproduktion auszuführen, und beobachte den Speicher, während du Commits und Diffs durchgehst. Vergleiche das Verhalten mit der Stack-Overflow-Diskussion und ermittle anschließend, ob das Leck bei der Commit-Iteration oder der Diff-Verarbeitung liegt; abgeschlossen ist die Aufgabe, wenn das Wachstum reproduziert und eine verifizierte Behebung oder dokumentierte Alternative festgestellt wurde.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

When I run the code below on a production repository, i can see that the memory is all the time increasing and after about 3000 commits my pc crashes with out of memory.

For about 1000 commit it reserved about 500 MB Ram.

Code for Testsetup see here:
https://gist.github.com/Gentlehag/9f595ab13f459e22859fa5d9557e550b

PS: I also posted here:
http://stackoverflow.com/questions/39258639/possible-leak-when-reading-content

My target is to just iterate through all commits and getting all files that were changed in eahc commit.

Is there a better way ? Is this a bug?

Vorherrschende Sprache
C#
Sterne
3.5k
Forks
925
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus libgit2/libgit2sharp

Alle Issues in libgit2/libgit2sharp

Ähnliche Issues

Weitere Issues zu C#

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.