On Fri, Feb 05, 2010 at 01:06:35PM +0100, Xavier de Gaye wrote:
> On Thu, Feb 4, 2010 at 8:58 PM, Eric Van Dewoestine wrote:
> >
> > I'm able to reliably reproduce the crash with the latest vim sources
> > (7.2.356) using the following steps:
> >
> > 1. open a file in eclipse using an embedded gvim instance (same issue
> >   occurs launching an external instance which also communicates back
> >   to eclipse over the netbeans interface).
> > 2. ensure the file has a lot lines (1500+ is what I've been testing
> >   with)
> > 3. pick a random line and attempt to join 2 lines via J. At this point
> >   gvim almost always crashes with:
> >
> >   *** glibc detected *** /home/ervandew/vim-env/bin/gvim:
> >       double free or corruption (fasttop): 0x09724b10 ***
> >
>
>
> Hello Eric,
>
> I can reproduce the problem on vim 7.2.356 with pyclewn:
>
>     * modify pyclewn code: comment out the lines containing
>       `setReadOnly` and `stopDocumentListen` in order to receive
>       `insert` and `remove` netbeans events
>     * grow the `(clewn)_console` buffer up to 1500 lines or more
>     * join two lines in the middle of this buffer by hitting 'J'
>
> The corresponding gdb backtrace is below, and the corresponding
> valgrind log is attached to this mail.
>
> The valgind log shows that the invalid free() occurs because of a
> recursive call to ml_flush_line() when netbeans is updating the buffer
> and gets the cursor position.
> Preventing the recursive call fixes the crash.
>
> I have attached the corresponding patch.
> Can you check if the patch fixes the problem for you too.


Hey Xavier,

After applying the patch I can no longer reproduce the problem.

Thank you so much for fix!

--
eric

-- 
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui