-
-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Memory corruption in underlying libgit2 native DLL #87
Comments
@ricksladkey Thanks I will see to update it in the next release! |
@ricksladkey This should be fixed with #89 coming in the next release |
Nope, the bug is still there :(. I had to rewrite the plugin with using of git.exe instead of libgit2. Have you considered such replacement? At least as an option? It would solve not only that bug, by the way. E.g. worktrees, as any futher git's features, would work out of the box. To be honest, I don't see any reason to use libgit2 at all. Git's binary is "must have" anyway IMHO. |
For my part, I got one crash with the new version so far, which restarted Visual Studio before I could get a stack trace. However, it did have the same symptom, which was that running a git command from a command prompt (like git push, git commit --amend) was what triggered Visual Studio to crash. So my preliminary assessment is that the crash is still present with the new version. Will keep testing. |
@dezdechado I was using git.exe at the beginning of the project! The problem is that I couldn't ensure that git.exe was on the machine of the user |
@ricksladkey Didn't get any crash and working with it since last Sunday. Did all sort of things in cmd line; git-imerge, rebase... from sourcetree also and never got a crash till now.
Would be great if you would find a way to reproduce the problem! |
I understand that. The plugin could provide both solutions and let user decide wich one to use (As TortoiseGit does. It has switch "Use libgit2: true/false"). |
@dezdechado I also use Microsoft Git Provider but ok the repository I deal with are smaller! I will think about the idea of TortoiseGit to let the user choose! |
Great! Thank you in advance! |
@dezdechado sure submit a PR |
Another crash, this time I got a stack trace.
Same folder as GitDiffMargin.dll, 3.1.1.0 Command that triggered it: git checkout file-name |
@dezdechado I gave some more thought about using git.exe again after reading that Visual Studio 2017 while use git.exe in place of LibGit2Sharp. The problem I am facing is that getting live diff will not work with it! |
I've been getting crashes in Visual Studio 2015 and ignoring them. Finally, I debugged into one and found this call stack:
So the git2 DLL is corrupting the heap.
This might be a good reason to upgrade to the latest libgit2 unmanaged DLL:
https://github.com/libgit2/libgit2/releases
The version of libgit2 distributed with the latest version of GitDiffMargin in the gallery appears to be:
File Version: 0.20.0.0
The text was updated successfully, but these errors were encountered: