Re: [PATCH 0/2] Fix memory corruption with FSMonitor-enabled unpack_trees()
flat view
From: Johannes Schindelin <hidden>
Date: 2021-03-19 14:50:23
Hi Stolee, On Wed, 17 Mar 2021, Derrick Stolee wrote:
On 3/17/2021 11:30 AM, Johannes Schindelin via GitGitGadget wrote:quoted
While dog-fooding Jeff Hostetler's FSMonitor patches, I ran into a really obscure segmentation fault during one of my epic Git for Windows rebases.Thanks for dogfooding!
I'm completely selfish here, as I want to benefit from the speed myself, and that's also the reason why I added this as an experimental option to Git for Windows v2.31.0: That way, I can test it everywhere (and so can others).
quoted
Turns out that this bug is quite old.A little over a year, yes, since the v2 hook was committed. It's old enough that these could be applied to 'maint'.
Indeed. Even better: if you look closely at the GitGitGadget PR, you will see that I based it on `kw/fsmonitor-watchman-racefix`.
quoted
Johannes Schindelin (2): fsmonitor: fix memory corruption in some corner cases fsmonitor: do not forget to release the token in `discard_index()`The patches themselves are correct and describe the problem well. They only show up during non-trivial uses of FS Monitor and index updates, so I understand your hesitance to write tests that trigger these problems.
Right. For me, I ran into them only in one specific instance, when rebasing Git for Windows' patch thicket onto `seen`, and then only when merging a topic branch with a rather big diff. Thanks, Dscho