Hi, On Mon, Apr 11, 2016 at 11:37 AM, LCD 47 <[email protected]> wrote: > On 11 April 2016, Christian Brabandt <[email protected]> wrote: >> Am 2016-04-11 08:20, schrieb LCD 47: >> > On 19 March 2016, Dominique Pellé <[email protected]> wrote: >> >> Hi LCD, >> >> >> >> If you can still reproduce this bug, can you check >> >> whether recent patch 7.4.1592 fixes it? >> >> >> >> patch 7.4.1592 >> >> Problem: Quickfix code using memory after being freed. (Dominique >> >> Pelle) >> >> Solution: Detect that the window was closed. (Hirohito Higashi) >> > >> > (Context moved below the signature) >> > >> > Hi Dominique, >> > >> > I think I now have a better understanding of what was going on >> > in my report. Your patch fixes the crash, but there might still be >> > a deeper problem with jumping from quickfix lists. >> > >> > The crash scenario was something like this: >> > >> > (1) .ll from a loclist >> > (2) the target file for .ll had a BufEnter autocmd >> > (3) the BufEnter set a different loclist for the same window >> > (4) .ll mixed data from the old and new loclists. >> > >> > Your patch adds a safeguard against the loclist going away from >> > under .ll's feet, but the fact that an autocmd can happen in the >> > middle of the operation is still a bug, I think. >> >> Is there an easy way to reproduce the issue? Perhaps, cloning as >> github repository with mandatory setup files? > > You don't understand, there is nothing to reporduce (not yet > anyway). The issue I reported way back was fixed by patch 1592, and > by a patch to syntastic. However, I claim that the bigger picture of > quickfix is _still_ wrong. > > Namely, autocmds can occur in the middle of quickfix commands. I > don't have any use case to show what can break that way, but it's surely > obvious that this is a bad idea? >
The above mentioned patch checks whether the current quickfix/location list entry is still valid after opening a buffer (assuming this event triggered an autocmd that changed the quickfix/location list). If the entry is no longer valid, then the operation is aborted. This should gracefully handle this condition. > > Shouldn't autocmds be delayed until quickfix commands are finished? > No. Jumping to an entry in the location/quickfix list may trigger buffer, window and tab enter/leave autocmds. Delaying these autocmd events will break functionality that depends on these events. - Yegappan -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
