Another Vim: Caught deadly signal SEGV

  1. anonymous

    Hi Wincent,

    I've just installed command-t, the 1.3 version from the vim.org website.

    I'm using it in gvim, I've compiled it with the standard ruby (I'm NOT using rvm).

    These are the specs:

    • Ubuntu 11.04 32 bit
    • ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-linux]
    • command-t-1.3.vba 1.3 2011-11-28 from the vim.org website
    $ gvim --version
    VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Mar 24 2011 07:07:00)
    Included patches: 1-35
    Modified by pkg-vim-maintainers@lists.alioth.debian.org
    Compiled by buildd@
    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/dyn +menu +mksession 
    +modify_fname +mouse +mouseshape +mouse_dec +mouse_gpm -mouse_jsbterm 
    +mouse_netterm -mouse_sysmouse +mouse_xterm +multi_byte +multi_lang -mzscheme 
    +netbeans_intg -osfiletype +path_extra +perl/dyn +persistent_undo +postscript 
    +printer +profile +python/dyn +python3/dyn +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 -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/atk-1.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/freetype2 -I/usr/include/libpng12 -I/usr/include/libdrm -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pixman-1     -Wall -g -O2 -D_FORTIFY_SOURCE=1    -I/usr/include/tcl8.4  -D_REENTRANT=1  -D_THREAD_SAFE=1  -D_LARGEFILE64_SOURCE=1  -I/usr/lib/ruby/1.8/i686-linux -DRUBY_VERSION=18 
    Linking: gcc -L/usr/lib/i386-linux-gnu    -L. -Wl,-Bsymbolic-functions -rdynamic -Wl,-export-dynamic  -Wl,-E  -Wl,--as-needed -o vim   -pthread -L/usr/lib/i386-linux-gnu -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 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0   -lXt -lncurses -lselinux   -lacl -lgpm -Wl,-E  -fstack-protector -L/usr/local/lib  -L/usr/lib/perl/5.10/CORE -L/usr/lib -ltcl8.4 -lieee -lruby1.8 -lrt -lm   
    stefan@thoth:/tmp/command-t$ ruby -v
    ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-linux]

    I've ran it with strace but I can't see anything obvious.

    [pid  8217] open("/home/stefan/download/truecrypt1/linux_puppet/puppet/", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 20
    [pid  8217] lseek(20, 0, SEEK_SET)      = 0
    [pid  8217] getdents64(20, /* 4 entries */, 32768) = 112
    [pid  8217] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
    [pid  8217] rt_sigaction(SIGHUP, {SIG_IGN, [HUP], SA_RESTART}, {0x815e010, [], 0}, 8) = 0
    [pid  8217] write(1, "Vim: Caught deadly signal SEGV\r\n", 32Vim: Caught deadly signal SEGV

    It doesn't die on first invocation of \t. I do maybe 3 invocations in different directories before it dies.

    I must say that Gvim never died before installing command-t, that and the fact that it dies during the invocation of \t makes me suspect Command-T as the culprit.

    Anything jumping at you ? I can't see anything useful in strace. It is just showing opening files.

    Is there a way I can debug the plugin further ? I've ran it through gdb also, but I'm not familiar with gdb, so I couldn't get much out of it.

  2. Greg Hurrell

    I wouldn't bother with strace or gdb for this issue as there are no known crashing bugs in Command-T. Literally every case of crashing has been due to either:

    • miscompilation (compiling Command-T with a version of Ruby different from the one that was used when building Vim)
    • a known buggy version of Vim that shipped with Ubuntu 11.04; the fix in that case is to grab a later version of Vim and build it
  3. anonymous

    Hi Wincent,

    Thank you for your help!

    Apparently the version of Vim shipped with Ubuntu 11.04 is indeed buggy !

    After recompiling Vim, Command-T doesn't crash my Gvim window anymore.

    Unfortunately I still can't use it as it introduces some side effect with another plugin that I'm using called NERDTree-tabs. Whenever I try to press t (in the NERDTree tree) to open a file in a new tab , the new tab opens but it is empty. When I get some time I'll try to make NERDTree behave like NERDTree-tabs, maybe it will work if I get rid of NERDTree-tabs.

    Cheers

  4. anonymous Created , edited

    Hey Wincent,

    I've finally managed to set some time apart to clean up my vim plugins. I've started using pathogen I've stopped running NERDTree-tabs. I'm just using NERDTree. Same version of the os as above, same recompiled Vim, now Command-T WORKS fine :)

    Conclusion: Command-T works with the below

    • using just standard NERDTree + all my other plugins via pathogen
    • using the recompiled version of vim (the ubuntu shipped version is indeed broken )

    Thanks for your help and keep up the good work with command-t!

  5. anonymous Created , edited

    I am suffering from the same segmentation fault on Debian testing:

    dpkg version: vim-nox 2:7.3.547-1

    $ vim general.py
    [;t]
    Vim: Caught deadly signal SEGV
    Vim: Finished.
    Segmentation fault

Reply

This topic is now closed.