Since vim 7.3 patch 429 (on Ubuntu Precise/12.04), it looks like there's a
segfault issue when doing "cclose" on BufUnload in a python function. In
particular, it happens on 7.3 patch 547 (Ubuntu Quantal/12.10), and is also
happening on 7.3 patch 762 (latest tag in Mercurial checkout).
Here's how I'm able to reproduce it:
Create a file /tmp/blowup.vim:
pyfile /tmp/blowup.py
botright 3copen
autocmd BufUnload * python leaving_buffer()
Then create a file /tmp/blowup.py:
import vim
def leaving_buffer():
vim.command('cclose')
vim.command('quit')
Now run "vim -u tmp/blowup.vim /tmp/foo" (in my case, /tmp/foo does not exist).
Do ":q" in vim, and it will segfault:
Vim: Caught deadly signal SEGV
zsh: segmentation fault (core dumped) vim -u /tmp/blowup.vim /tmp/foo
I compiled it using the Ubuntu packaging for Precise, against the mercurial
checkout for 762. Here is the "--version" output:
guin:vim-quantal$ vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Dec 17 2012 12:54:39)
Included patches: 1-762
Modified by XXX
Compiled by XXX
Huge version with GTK2 GUI. Features included (+) or not (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
+conceal +cryptv +cscope +cursorbind +cursorshape +dialog_con_gui +diff
+digraphs +dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi
+file_in_path +find_in_path +float +folding -footer +fork() +gettext
-hangul_input +iconv +insert_expand +jumplist +keymap +langmap +libcall
+linebreak +lispindent +listcmds +localmap +lua +menu +mksession +modify_fname
+mouse +mouseshape +mouse_dec +mouse_gpm -mouse_jsbterm +mouse_netterm
+mouse_sgr -mouse_sysmouse +mouse_urxvt +mouse_xterm +multi_byte +multi_lang
-mzscheme +netbeans_intg +path_extra +perl +persistent_undo +postscript
+printer +profile +python -python3 +quickfix +reltime +rightleft +ruby
+scrollbind +signs +smartindent -sniff +startuptime +statusline -sun_workshop
+syntax +tag_binary +tag_old_static -tag_any_white +tcl +terminfo +termresponse
+textobjects +title +toolbar +user_commands +vertsplit +virtualedit +visual
+visualextra +viminfo +vreplace +wildignore +wildmenu +windows +writebackup
+X11 -xfontset +xim +xsmp_interact +xterm_clipboard -xterm_save
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
user exrc file: "$HOME/.exrc"
system gvimrc file: "$VIM/gvimrc"
user gvimrc file: "$HOME/.gvimrc"
system menu file: "$VIMRUNTIME/menu.vim"
fall-back for $VIM: "/usr/share/vim"
Compilation: gcc-4.6 -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -pthread
-I/usr/include/gtk-2.0 -I/usr/lib/i386-linux-gnu/gtk-2.0/include
-I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0
-I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0
-I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/pixman-1
-I/usr/include/freetype2 -I/usr/include/libpng12 -g -O2 -fstack-protector
--param=ssp-buffer-size=4 -Wformat -Werror=format-security -U_FORTIFY_SOURCE
-D_FORTIFY_SOURCE=1 -I/usr/include/tcl8.5 -D_REENTRANT=1 -D_THREAD_SAFE=1
-D_LARGEFILE64_SOURCE=1
Linking: gcc-4.6 -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -rdynamic
-Wl,-export-dynamic -Wl,-E -Wl,-Bsymbolic-functions -Wl,-z,relro
-Wl,--as-needed -o vim -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0
-lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype
-lfontconfig -lgobject-2.0 -lglib-2.0 -lSM -lICE -lXpm -lXt -lX11 -lXdmcp
-lSM -lICE -lm -ltinfo -lnsl -lselinux -lacl -lattr -lgpm -ldl -L/usr/lib
-llua5.1 -Wl,-E -fstack-protector -L/usr/local/lib -L/usr/lib/perl/5.14/CORE
-lperl -ldl -lm -lpthread -lcrypt -L/usr/lib/python2.7/config -lpython2.7
-lpthread -ldl -lutil -lm -Xlinker -export-dynamic -Wl,-O1
-Wl,-Bsymbolic-functions -L/usr/lib -ltcl8.5 -ldl -lpthread -lieee -lm
-lruby-1.9.1 -lpthread -lrt -ldl -lcrypt -lm -L/usr/lib
Thanks,
Sean
--
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