विम -p: घातक संकेत SEGV पकड़ा?


12

मुझे यह समस्या आती है जब मैं -pविकल्प के साथ विम शुरू करता हूं । मान लीजिए, मैंने शुरुआत की

vim -p first.txt second.txt

फिर संपादन के बाद first.txtमैं second.txtउपयोग करने के लिए कदम gt। मैं चाबियों को दबाता हूं ggऔर Gफिर से। यह त्रुटि पैदा करता है

Vim: Caught deadly signal SEGV

इस बिंदु से, विम किसी भी संकेत सहित प्रतिक्रिया नहीं करता है Ctrl D। मैं टर्मिनल को मारकर ही इस सत्र को बंद कर सकता हूं।

यह समस्या केवल तब होती है जब मैं विम को -pविकल्प के साथ आमंत्रित करता हूं । अगर मैं first.txtपहले खोलता हूं और फिर :tabeखोलने के लिए उपयोग second.txtकरता हूं , तो यह समस्या उत्पन्न नहीं होती है।

किसी भी विचार क्यों यह हो सकता है?


का आउटपुट vim --version:

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jan  2 2014 19:40:46)
Included patches: 1-52
Modified by pkg-vim-maintainers@lists.alioth.debian.org
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   

का आउटपुट 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

@Carpetsmoker की टिप्पणियों के आधार पर, मुझे पता चला कि समस्या मेरी .vimrcफ़ाइल के कारण है। इसलिए मैंने जाँच की समस्या .vimrcटिप्पणी फ़ाइल के कुछ भागों के साथ कमांड के कारण हुई । अंत में मुझे पता चला कि समस्या रेखा के साथ है

set columns=1000

इतना निर्दोष आदेश इस समस्या का कारण कैसे हो सकता है? :help columnsइस संबंध में कोई उपयोगी जानकारी नहीं दी।


2
आप किस विम (और पैच लेवल) का उपयोग कर रहे हैं? (जैसे vim --version आउटपुट), और क्या OS? भले ही, यह विम को अपडेट करने के लिए एक अच्छा विचार होगा। यदि आप मैक पर हैं और आप रूबी प्लगइन्स (जैसे कमांड-टी) का उपयोग करते हैं, तो आप उन्हें पुनः स्थापित कर सकते हैं और / या सुनिश्चित कर सकते हैं कि vim सिस्टम माणिक का उपयोग कर रहा है और
आरवीएम

1
आप के रूप में विम शुरू कर सकते हैं vim -u NONE -p first.txt second.txt... यह आपके vimrc फ़ाइल को लोड करने से रोकेगा।
मार्टिन टूरनोइज

@ क्या विम को स्थापित या संकलित किया गया था? क्या आप इसे 7.4 में अपग्रेड कर सकते हैं और देख सकते हैं कि क्या मदद करता है।
kenorb

@kenorb विम स्थापित किया गया था।
निटिश

@Carpetsmoker यह काम किया !! क्या यह निश्चित रूप से इंगित करता है कि .vimrcफ़ाइल में कोई समस्या है ?
नाइटिश

जवाबों:


6

SEGV संकेत, जिसे एक सेगफॉल्ट के रूप में भी जाना जाता है, लगभग हमेशा उस कार्यक्रम में एक बग के कारण होता है जो आप इस मामले में चला रहे हैं, विम। (अन्य कारणों में दोषपूर्ण हार्डवेयर, या एक बार एक नीला चाँद, गिरी कीड़े) जैसी चीजें हैं।

तो, वास्तव में, आपको बग की रिपोर्ट करने की आवश्यकता है। :help bug-reportsबग की रिपोर्ट कैसे करें, इस बारे में निर्देश प्रदान करता है। ऐसा लगता है कि आपको समस्या को पुन: उत्पन्न करने के लिए पहले से ही एक न्यूनतम सेट मिल गया है, इसलिए यह वहां अधिकांश काम है। आपको शायद पहले विम के एक नए संस्करण का परीक्षण करना चाहिए, हालांकि यह सुनिश्चित करने के लिए कि यह पहले से तय नहीं किया गया है।


मैं V.४ का उपयोग कर रहा हूं। आधिकारिक वेबसाइट का कहना है कि यह नवीनतम संस्करण है।
निशिच

@ क्या आपके पास उपलब्ध की तुलना में कम पैच लागू हैं।
derobert

वह डेबियन को चला रहा है, इसलिए बताता है कि :-)
मार्टिन टूरनोइज

@Carpetsmoker मैं डेबियन चला रहा हूँ और पैच 488 के माध्यम से है ... मुझे यकीन नहीं है कि ओपी अधिक उम्र का क्यों है। व्हीजी (वर्तमान रिलीज़) में 7.3 है, इसलिए ओपी इसका उपयोग नहीं कर रहा है। अस्थिर, जेसी, और खरखरा-backports सभी 7.4 पैच 488 है (को देखते हुए, 640 है कि अभी भी कुछ हद तक के पुराने वर्तमान है, इसलिए,।)
derobert

3

यदि आपका विम विभाजन विभाजन की वजह से दुर्घटनाग्रस्त हो जाता है , तो यह मेमोरी एक्सेस उल्लंघन का संकेत देता है जो सॉफ़्टवेयर बग या हार्डवेयर समस्याओं के कारण होता है।

यदि ऐसा बार-बार होता है, तो आपको क्रम से करना चाहिए:

  1. प्लगइन्स को चलाकर अक्षम करें: vim -u NONEऔर देखें कि क्या मदद करता है।
  2. अपने विम को नवीनतम स्थिर संस्करण में अपग्रेड करें।
  3. अपने विम को नवीनतम विकास संस्करण में अपग्रेड करें।
  4. वैकल्पिक रूप से अलग मशीन पर एक ही विम संस्करण की जाँच करें (शायद यह हार्डवेयर समस्याओं के कारण होता है)।
  5. vimडीबगर के तहत चलाने का प्रयास करें , जैसे: gdb vimऔर बैकट्रेस के लिए जांच करें (SEGV के बाद gdb: टाइप btया bt full)।
  6. यदि बैकट्रेस में प्रतीक नहीं हैं, तो आपको इन्हें शामिल करने के लिए अपने विम को फिर से जोड़ना होगा।
  7. यदि आपने बैकट्रेस पूरा कर लिया है, तो कृपया समान मुद्दों की जाँच करें या vim के बग ट्रैकर (सादे विम के लिए) में एक नए बग की रिपोर्ट करें :help bugs। यदि आपके पास vim (जैसे gVim, MacVim, NeoVim) का भिन्न संस्करण है, तो कृपया इसे सही अनुरक्षकों को रिपोर्ट करें।

2
मेरे सिस्टम पर ही ऐसा होता है। साथ ऐसा नहीं होता है -u NONE। लगता है कि लाइन set columns=1000में .vimrcअपराधी है।
नाइटिश

0

सेगमेंटेशन दोष नेटबाइन्स जैसे इंटरेस्टिंग सर्वर से भी जुड़े हो सकते हैं और autocmdयह एक बफर (जैसे BufNewFileसंचालन) को अमान्य करता है जो .vimकॉन्फ़िगरेशन में एक और प्रोग्राम (प्लगइन, ...) की उम्मीद करता है (या इसी तरह) , उन पंक्तियों को उदाहरण में टिप्पणी करने का प्रयास करें .vimrc

विशिष्ट त्रुटि संदेश है:

missing ! or / in <number>:<command>

कहाँ commandहो सकता हैeditFile

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.