J'obtiens ce problème lorsque je démarre Vim avec -p
option. Supposons que j'ai commencé avec
vim -p first.txt second.txt
Ensuite, après l'édition, first.txt
je passe à l' second.txt
utilisation gt
. J'appuie sur les touches gg
et G
encore. Cela produit l'erreur
Vim: Caught deadly signal SEGV
À partir de ce moment, Vim ne répond à aucun signal, y compris Ctrl D. Je ne peux fermer cette session qu'en tuant le terminal.
Ce problème ne se pose que lorsque j'invoque Vim avec -p
option. Si j'ouvre d' first.txt
abord et que j'utilise ensuite :tabe
pour ouvrir second.txt
, ce problème ne se pose pas.
Des idées pourquoi cela pourrait se produire?
Sortie de vim --version
:
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jan 2 2014 19:40:46)
Included patches: 1-52
Modified by [email protected]
Compiled by buildd@
Huge version with GTK2-GNOME GUI. Features included (+) or not (-):
+acl +farsi +mouse_netterm +syntax
+arabic +file_in_path +mouse_sgr +tag_binary
+autocmd +find_in_path -mouse_sysmouse +tag_old_static
+balloon_eval +float +mouse_urxvt -tag_any_white
+browse +folding +mouse_xterm +tcl
++builtin_terms -footer +multi_byte +terminfo
+byte_offset +fork() +multi_lang +termresponse
+cindent +gettext -mzscheme +textobjects
+clientserver -hangul_input +netbeans_intg +title
+clipboard +iconv +path_extra +toolbar
+cmdline_compl +insert_expand +perl +user_commands
+cmdline_hist +jumplist +persistent_undo +vertsplit
+cmdline_info +keymap +postscript +virtualedit
+comments +langmap +printer +visual
+conceal +libcall +profile +visualextra
+cryptv +linebreak +python +viminfo
+cscope +lispindent -python3 +vreplace
+cursorbind +listcmds +quickfix +wildignore
+cursorshape +localmap +reltime +wildmenu
+dialog_con_gui +lua +rightleft +windows
+diff +menu +ruby +writebackup
+digraphs +mksession +scrollbind +X11
+dnd +modify_fname +signs -xfontset
-ebcdic +mouse +smartindent +xim
+emacs_tags +mouseshape -sniff +xsmp_interact
+eval +mouse_dec +startuptime +xterm_clipboard
+ex_extra +mouse_gpm +statusline -xterm_save
+extra_search -mouse_jsbterm -sun_workshop +xpm
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
2nd user vimrc file: "~/.vim/vimrc"
user exrc file: "$HOME/.exrc"
system gvimrc file: "$VIM/gvimrc"
user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
system menu file: "$VIMRUNTIME/menu.vim"
fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -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/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/harfbuzz -pthread -DORBIT2=1 -D_REENTRANT -I/usr/include/libgnomeui-2.0 -I/usr/include/libart-2.0 -I/usr/include/gconf/2 -I/usr/include/gnome-keyring-1 -I/usr/include/libgnome-2.0 -I/usr/include/libbonoboui-2.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/gtk-2.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/i386-linux-gnu/gnome-vfs-2.0/include -I/usr/include/dbus-1.0 -I/usr/lib/i386-linux-gnu/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/orbit-2.0 -I/usr/include/libbonobo-2.0 -I/usr/include/bonobo-activation-2.0 -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/gail-1.0 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/atk-1.0 -I/usr/lib/i386-linux-gnu/gtk-2.0/include -I/usr/include/cairo -I/usr/include/gio-unix-2.0/ -I/usr/include/pixman-1 -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.6 -D_REENTRANT=1 -D_THREAD_SAFE=1 -D_LARGEFILE64_SOURCE=1
Linking: gcc -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 -lfontconfig -lgobject-2.0 -lglib-2.0 -lfreetype -lgnomeui-2 -lSM -lICE -lbonoboui-2 -lgnomevfs-2 -lgnomecanvas-2 -lgnome-2 -lpopt -lbonobo-2 -lbonobo-activation -lORBit-2 -lart_lgpl_2 -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 -lfontconfig -lfreetype -lgconf-2 -lgthread-2.0 -lgmodule-2.0 -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.2 -Wl,-E -fstack-protector -L/usr/local/lib -L/usr/lib/perl/5.18/CORE -lperl -ldl -lm -lpthread -lcrypt -L/usr/lib/python2.7/config-i386-linux-gnu -lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -L/usr/lib/i386-linux-gnu -ltcl8.6 -ldl -lz -lpthread -lieee -lm -lruby-1.9.1 -lpthread -lrt -ldl -lcrypt -lm -L/usr/lib
Sortie de uname -a
:
Linux nitish 3.13.0-45-generic #74-Ubuntu SMP Tue Jan 13 19:37:48 UTC 2015 i686 i686 i686 GNU/Linux
Sur la base des commentaires de @Carpetsmoker, j'ai découvert que le problème était dû à mon .vimrc
fichier. J'ai donc vérifié que le problème provoquait la commande avec certaines parties du .vimrc
fichier commentées. Enfin, j'ai découvert que le problème est avec la ligne
set columns=1000
Comment un commandement si innocent peut-il causer ce problème? :help columns
n'a donné aucune information utile à ce sujet.
vim -u NONE -p first.txt second.txt
... Cela empêchera le chargement de votre fichier vimrc..vimrc
fichier?Réponses:
Le signal SEGV, également connu sous le nom de défaut de segmentation, est presque toujours dû à un bogue dans le programme que vous exécutez - dans ce cas, vim. (Les autres causes sont des choses comme un matériel défectueux, ou une fois dans une lune bleue, des bugs du noyau).
Donc, vraiment, vous devez signaler un bug.
:help bug-reports
fournit des instructions sur la façon de signaler un bogue. Il semble que vous ayez déjà un ensemble minimal d'étapes pour reproduire le problème, c'est donc l'essentiel du travail là-bas. Vous devriez probablement tester une version plus récente de Vim d'abord, juste pour vous assurer qu'elle n'a pas déjà été corrigée.la source
Si votre vim se bloque en raison d' une erreur de segmentation , cela indique une violation d'accès à la mémoire causée par un bogue logiciel ou des problèmes matériels.
Si cela se produit à plusieurs reprises, vous devez procéder dans l'ordre:
vim -u NONE
et voyez si cela aide.vim
sous le débogueur, par exemple:gdb vim
et vérifiez la trace (après SEGV, dansgdb
: tapezbt
oubt full
).:help bugs
. Si vous avez une version différente de vim (comme gVim, MacVim, NeoVim), veuillez le signaler aux bons responsables.la source
-u NONE
. Semble la ligneset columns=1000
en.vimrc
est le coupable.Les erreurs de segmentation peuvent également être connectées à des serveurs en interaction comme les netbeans et
autocmd
qui invalident un tampon (par exemple desBufNewFile
opérations) qu'un autre programme (plugin, ...) attend (ou similaire) dans la.vim
configuration, essayez de commenter ces lignes dans par exemple le.vimrc
.Le message d'erreur typique est:
où
command
peut être par exempleeditFile
la source