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
