On Fri, Nov 18, 2011 at 6:39 AM, Jan Larres wrote:
> Hi,
>
> I just spent some time hunting done a segfault that was cropping up recently
> for me, and I have narrowed it down to some python threading that the
> clang_complete plugin is doing. I have attached a minimal vimrc that is needed
> to make the bug appear, the two stripped-down plugin files (just put them into
> ~/.vim/plugin), a gdb backtrace log and my version information (it's the
> newest
> one with all patches applied).
The problem is that the python interface in Vim is not thread safe.
In frame #3 of the backtrace, f_getline() calls get_buffer_lines()
with the following statement in Vim source:
get_buffer_lines(curbuf, lnum, end, retlist, rettv);
which translates in the backtrace to:
get_buffer_lines (buf=0x8299c30, start=29, end=6873, retlist=1,
rettv=0x8403c28)
'end' is the last line to be retrieved by getline.
'curbuf' is the current buffer pointer, it is a global variable and
may have been changed by the main Vim thread since the last time it
has been used to compute 'end' in one of the previous frames in the
call stack.
--
Xavier
Les Chemins de Lokoti: http://lokoti.alwaysdata.net
--
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