Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

neovim: E724: unable to correctly dump variable with self-referencing container" #125

Closed
allegewhd opened this issue Dec 26, 2016 · 13 comments

Comments

@allegewhd
Copy link

allegewhd commented Dec 26, 2016

OS: macOS Sierra 10.12.2
neovim:# nvim --version
NVIM v0.2.0-164-gc1d1493e
(installed by brew install --HEAD neovim)
term: iTerm2 Build 3.0.13

After incsearch plugin loaded, when input char after slash(/) , neovim crashed with:
/ Segmentation fault: 11

@gkapfham
Copy link

Hello! Thanks for developing this plugin. Until recently, I have used it on a regular basis and truly enjoyed its features. I am writing to report that recently I have had exactly the same issue when using Neovim and incsearch.vim. That is, the plugin crashes as soon as I run a search in Neovim. However, I can confirm that the same fault does not occur when I use this plugin in version 8 of Vim. I can confirm that this issue manifests when I load any type of file into Neovim and then perform a search with this plugin. However, searching with another plugin, such as EasyMotion, does work correctly on both Vim and Neovim.

Here are some details about my current configuration:

NVIM 0.2.0-dev
Build type: RelWithDebInfo
Compilation: /usr/bin/x86_64-linux-gnu-gcc -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wconversion -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -O2 -g -DDISABLE_LOG -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wvla -fstack-protector-strong -fdiagnostics-color=auto -DINCLUDE_GENERATED_DECLARATIONS -DHAVE_CONFIG_H -D_GNU_SOURCE -I/build/neovim-UtPdzF/neovim-0.1.5ubuntu1+git201612271937+2988+22~ubuntu16.04.1/build/config -I/build/neovim-UtPdzF/neovim-0.1.5ubuntu1+git201612271937+2988+22~ubuntu16.04.1/src -I/build/neovim-UtPdzF/neovim-0.1.5ubuntu1+git201612271937+2988+22~ubuntu16.04.1/.deps/usr/include -I/build/neovim-UtPdzF/neovim-0.1.5ubuntu1+git201612271937+2988+22~ubuntu16.04.1/.deps/usr/include -I/build/neovim-UtPdzF/neovim-0.1.5ubuntu1+git201612271937+2988+22~ubuntu16.04.1/.deps/usr/include -I/build/neovim-UtPdzF/neovim-0.1.5ubuntu1+git201612271937+2988+22~ubuntu16.04.1/.deps/usr/include -I/build/neovim-UtPdzF/neovim-0.1.5ubuntu1+git201612271937+2988+22~ubuntu16.04.1/.deps/usr/include -I/build/neovim-UtPdzF/neovim-0.1.5ubuntu1+git201612271937+2988+22~ubuntu16.04.1/.deps/usr/include -I/usr/include -I/build/neovim-UtPdzF/neovim-0.1.5ubuntu1+git201612271937+2988+22~ubuntu16.04.1/build/src/nvim/auto -I/build/neovim-UtPdzF/neovim-0.1.5ubuntu1+git201612271937+2988+22~ubuntu16.04.1/build/include
Compiled by root@lgw01-54

Optional features included (+) or not (-): +acl   +iconv    +jemalloc +tui
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Dec 23 2016 18:16:55)
Included patches: 1-134
Compiled by gkapfham@kallistos
Huge version with GTK2 GUI.  Features included (+) or not (-):
+acl             +file_in_path    +mouse_sgr       +tag_old_static
+arabic          +find_in_path    -mouse_sysmouse  -tag_any_white
+autocmd         +float           +mouse_urxvt     -tcl
+balloon_eval    +folding         +mouse_xterm     +termguicolors
+browse          -footer          +multi_byte      +terminfo
++builtin_terms  +fork()          +multi_lang      +termresponse
+byte_offset     +gettext         -mzscheme        +textobjects
+channel         -hangul_input    +netbeans_intg   +timers
+cindent         +iconv           +num64           +title
+clientserver    +insert_expand   +packages        +toolbar
+clipboard       +job             +path_extra      +user_commands
+cmdline_compl   +jumplist        -perl            +vertsplit
+cmdline_hist    +keymap          +persistent_undo +virtualedit
+cmdline_info    +lambda          +postscript      +visual
+comments        +langmap         +printer         +visualextra
+conceal         +libcall         +profile         +viminfo
+cryptv          +linebreak       +python          +vreplace
+cscope          +lispindent      -python3         +wildignore
+cursorbind      +listcmds        +quickfix        +wildmenu
+cursorshape     +localmap        +reltime         +windows
+dialog_con_gui  -lua             +rightleft       +writebackup
+diff            +menu            +ruby            +X11
+digraphs        +mksession       +scrollbind      -xfontset
+dnd             +modify_fname    +signs           +xim
-ebcdic          +mouse           +smartindent     +xpm
+emacs_tags      +mouseshape      +startuptime     +xsmp_interact
+eval            +mouse_dec       +statusline      +xterm_clipboard
+ex_extra        -mouse_gpm       -sun_workshop    -xterm_save
+extra_search    -mouse_jsbterm   +syntax
+farsi           +mouse_netterm   +tag_binary
   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"
       defaults file: "$VIMRUNTIME/defaults.vim"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/usr/local/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2   -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc   -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic  -L/usr/local/lib -Wl,--as-needed -o vim   -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE  -lm -ltinfo -lnsl  -lselinux  -ldl    -L/usr/lib/python2.7/config -lpython2.7   -lruby-2.3 -lpthread -lgmp -ldl -lcrypt -lm
Linux kallistos 4.4.0-57-generic #78-Ubuntu SMP Fri Dec 9 23:50:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Okay, I hope that this helps to diagnose the problem. Please let me know if there is anything that I can assist with when it comes to resolving this issue. Thanks for your hard work on this plugin!

@haya14busa
Copy link
Owner

dup: #123

It's neovim's bug. Please report the problem to neovim.
I guess, it's better to identify the bad commit of neovim by using 'git bisect' or something.

@haya14busa
Copy link
Owner

Considering the fact that neovim seems to port partial feature recently neovim/neovim#5529, it might be related with this issue #111 by chance.

@haya14busa
Copy link
Owner

I reported the problem neovim/neovim#5529 (comment)

cc @alok

@haya14busa
Copy link
Owner

ref: neovim/neovim#5769

I'm guessing that this bug is introduced by the regression of porting partial feature.
If it's true, I know incsearch.vim uses somewhat hacky code for non-core feature, and I think it's possible to remove it.
But, I'll wait for the neovim fix for now.

@caedn
Copy link

caedn commented Feb 3, 2017

neovim/neovim#5769 is closed now but neovim/neovim#5902 mentions incsearch.vim could use get() instead.

@michaelmior
Copy link

Has anyone found a solution for this? For me incsearch still doesn't work on the latest unstable neovim. Even if it is a problem with neovim, a workaround would be great until this is resolved.

@haya14busa
Copy link
Owner

hmmmmmmm.............. I think I know a workaround fix, but I don't use neovim and I strongly hope neovim should be as compatible as possible with Vim.

maybe, you can ping neovim/neovim#5902

it seems it's not difficult to fix the problem from a quick read of this comment neovim/neovim#5529 (comment)

@michaelmior
Copy link

@haya14busa If you do have any suggestions on a quick fix (even something temporary that we could dump in our vim config for the time being) that would be appreciated since I'm a complete novice when it comes to vimscript.

@Shougo
Copy link

Shougo commented Feb 7, 2017

I think you can test neovim/neovim#6070.

@wsdjeg
Copy link

wsdjeg commented Feb 24, 2017

@Shougo I just test the master branch, I still neovim do not segment fault, but I get some errors



"autoload/SpaceVim/layers/incsearch.vim" 52L, 2036C written
E486: Pattern not found: save
function incsearch#_go[5]..<SNR>241_get_input[12]..193[4]..191[1]..207[9]..206[10]..205[23]..204[22]..203[8]..176[2]..256[1]..<SNR>251_call[3]..471[1]..<SNR>281_on_searching[2]..<SNR>281_on_char[26]..<SNR>281_move_cursor[19]..<SNR>242_dictfunction, line 1 Vim(let):E724: unable to correctly dump variable with self-referencing container
function incsearch#_go[5]..<SNR>241_get_input[12]..193[4]..191[1]..207[9]..206[10]..205[23]..204[22]..203[8]..176[2]..256[1]..<SNR>251_call[3]..471[1]..<SNR>281_on_searching[2]..<SNR>281_on_char[26]..<SNR>281_move_cursor[19]..<SNR>242_dictfunction, line 1 Vim(let):E724: unable to correctly dump variable with self-referencing container
function incsearch#_go[5]..<SNR>241_get_input[12]..193[4]..191[1]..207[9]..206[10]..205[23]..204[22]..203[8]..176[2]..256[1]..<SNR>251_call[3]..471[1]..<SNR>281_on_searching[2]..<SNR>281_on_char[26]..<SNR>281_move_cursor[19]..<SNR>242_dictfunction, line 1 Vim(let):E724: unable to correctly dump variable with self-referencing container
function incsearch#_go[5]..<SNR>241_get_input[12]..193[4]..191[1]..207[9]..206[10]..205[23]..204[22]..203[8]..176[2]..256[1]..<SNR>251_call[3]..471[1]..<SNR>281_on_searching[2]..<SNR>281_on_char[26]..<SNR>281_move_cursor[19]..<SNR>242_dictfunction, line 1 Vim(let):E724: unable to correctly dump variable with self-referencing container
function incsearch#_go[5]..<SNR>241_get_input[12]..193[4]..191[1]..207[9]..206[10]..205[23]..204[22]..203[8]..176[2]..256[1]..<SNR>251_call[3]..471[1]..<SNR>281_on_searching[2]..<SNR>281_on_char[26]..<SNR>281_move_cursor[19]..<SNR>242_dictfunction, line 1 Vim(let):E724: unable to correctly dump variable with self-referencing container
function incsearch#_go[5]..<SNR>241_get_input[12]..193[4]..191[1]..207[9]..206[10]..205[23]..204[22]..203[8]..176[2]..256[1]..<SNR>251_call[3]..471[1]..<SNR>281_on_searching[2]..<SNR>281_on_char[26]..<SNR>281_move_cursor[19]..<SNR>242_dictfunction, line 1 Vim(let):E724: unable to correctly dump variable with self-referencing container

@Shougo
Copy link

Shougo commented Feb 26, 2017

@wsdjeg Please read this.
neovim/neovim#5902

@haya14busa haya14busa changed the title Cause neovim segment fault when starting input search text after slash neovim: E724: unable to correctly dump variable with self-referencing container" Feb 28, 2017
@michaelmior
Copy link

Looks like this is back for me :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants