8000 SIGSEGV during tab completion from nvim command (vim not installed) · Issue #7344 · fish-shell/fish-shell · GitHub
[go: up one dir, main page]

Skip to content

SIGSEGV during tab completion from nvim command (vim not installed) #7344

@planet36

Description

@planet36

Environment

fish --version

fish, version 3.1.2

uname -a

Linux archvm 5.8.10-arch1-1 #1 SMP PREEMPT Thu, 17 Sep 2020 18:01:06 +0000 x86_64 GNU/Linux

echo $PATH

/usr/local/sbin /usr/local/bin /usr/bin /usr/bin/site_perl /usr/bin/vendor_perl /usr/bin/core_perl

alias -s

alias vim 'FOO= vim'

Background

I'm a new user of fish, and I'm converting my bash aliases to be in config.fish.

I copied an alias for vim, even though it isn't installed (I use neovim). The alias is recursive, but I didn't bother to change it because, again, vim isn't installed.

Doing any tab completion for a nvim command results in a crash.

Steps to reproduce

  • Install neovim.
  • Do not have vim installed vim.
  • Create this alias (that's been simplified from my original)
    alias vim 'FOO= vim'
  • In fish, at $HOME, type nvim .co then TAB to attempt tab completion.

Outcome

The shell appears to freeze for about a second, then it crashes. This is printed if it was opened from another shell:

fish: 'fish' terminated by signal SIGSEGV (Address boundary error)

strace

An strace has this repeated for over 20,000 lines

access("/usr/local/sbin/vim", X_OK) = -1 ENOENT (No such file or directory)
access("/usr/local/bin/vim", X_OK) = -1 ENOENT (No such file or directory)
access("/usr/bin/vim", X_OK) = -1 ENOENT (No such file or directory)
access("/usr/bin/site_perl/vim", X_OK) = -1 ENOENT (No such file or directory)
access("/usr/bin/vendor_perl/vim", X_OK) = -1 ENOENT (No such file or directory)
access("/usr/bin/core_perl/vim", X_OK) = -1 ENOENT (No such file or directory)

Before finally printing this

--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x7ffcfd9b3fe8} ---
+++ killed by SIGSEGV (core dumped) +++

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething that's not working as intendedregressionSomething that used to work, but was broken, especially between releases

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0