stevearc / dressing.nvim

Neovim plugin to improve the default vim.ui interfaces
MIT License
1.83k stars 32 forks source link

Segmentation fault, core dumped / IOT instruction (core dumped). #79

Closed ls-devs closed 1 year ago

ls-devs commented 1 year ago

Describe the bug

Hi, when renaming/removing/adding a file with nvim-tree got error : IOT Instruction (core dumped). First the dressing UI is showing, then it stays and do not update the render. Then nvim crash.

When using code-actions got error : segmentation fault (core dumped). The dressing UI show, then when triggering code-action, nvim crash.

Also, after disabling dressing, neovim don't crash anymore.

System information

local dressing = require("dressing")

if not dressing then
    return
end

dressing.setup({
    input = {
        enabled = true,
    },
})

To Reproduce Steps to reproduce the behavior:

  1. Update neovim to latest version
  2. Rename a file in nvim-tree
  3. Noevim crash

If possible, provide a minimal file that will trigger the issue (see tests/manual for examples of short ways to call vim.ui.*):

I don't have a minimal config to reproduce, since I only use the setup above. I don't know how to provide a good trace so feel free to explain me how and I'll do it and paste it.

Screenshots Screenshot from 2022-12-24 13-22-33

image

Additional context I don't know if this could be usefull but : Nvim options :

vim.cmd("set whichwrap+=<,>,[,],h,l")
vim.cmd([[set iskeyword+=-]])

vim.opt.shortmess:append("c")

local options = {
    backup = false,
    clipboard = "unnamedplus",
    cmdheight = 1,
    laststatus = 3,
    completeopt = { "menuone", "noselect" },
    conceallevel = 0,
    fileencoding = "utf-8",
    hlsearch = true,
    ignorecase = true,
    mouse = "a",
    pumheight = 10,
    showmode = true,
    smartcase = true,
    smartindent = true,
    splitbelow = true,
    splitright = true,
    swapfile = false,
    termguicolors = true,
    undofile = true,
    updatetime = 300,
    writebackup = false,
    expandtab = true,
    shiftwidth = 2,
    tabstop = 2,
    cursorline = true,
    number = true,
    relativenumber = true,
    numberwidth = 4,
    signcolumn = "yes",
    wrap = false,
    scrolloff = 8,
    sidescrolloff = 12,
}

for k, v in pairs(options) do
    vim.opt[k] = v
end

Plugin list :

local fn = vim.fn

-- Automatically install packer
local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim"
if fn.empty(fn.glob(install_path)) > 0 then
    --luacheck: ignore PACKER_BOOTSTRAP
    PACKER_BOOTSTRAP = fn.system({
        "git",
        "clone",
        "--depth",
        "1",
        "https://github.com/wbthomason/packer.nvim",
        install_path,
    })
    print("Installing packer close and reopen Neovim...")
    vim.cmd([[packadd packer.nvim]])
end

-- Autocommand that reloads neovim whenever you save the packer.lua file
vim.cmd([[
 augroup packer_user_config
 autocmd!
 autocmd BufWritePost packer.lua source <afile> | PackerSync
 augroup end
 ]])

local packer = require("packer")

-- Have packer use a popup window
packer.init({
    display = {
        open_fn = function()
            return require("packer.util").float({ border = "rounded" })
        end,
    },
})

return packer.startup(function(use)
    -- Package manager
    use("wbthomason/packer.nvim")

    -- Lsp & Dap Managers
    use("williamboman/mason.nvim")
    use({ "jayp0521/mason-nvim-dap.nvim" })
    use("williamboman/mason-lspconfig.nvim")
    use("WhoIsSethDaniel/mason-tool-installer.nvim")

    -- Colorscheme
    use({ "catppuccin/nvim", as = "catppuccin" })

    -- File explorer
    use({ "kyazdani42/nvim-tree.lua", requires = { { "kyazdani42/nvim-web-devicons" } }, tag = "nightly" })

    -- Buffer and status lines
    use({ "nvim-lualine/lualine.nvim", requires = { { "nvim-tree/nvim-web-devicons" } } })

  -- Navigation (tmux)
  use("christoomey/vim-tmux-navigator")

    -- Treesitter
    use({
        "nvim-treesitter/nvim-treesitter",
        requires = {
            { "windwp/nvim-ts-autotag" },
            { "nvim-treesitter/nvim-treesitter-textobjects" },
            { "p00f/nvim-ts-rainbow" },
            { "folke/which-key.nvim" },
        },
        run = ":TSUpdate",
    })

    -- Telescope
    use({ "nvim-telescope/telescope.nvim", requires = { { "nvim-lua/plenary.nvim" } } })
    use({
        "HendrikPetertje/telescope-media-files.nvim",
        branch = "fix-replace-ueber-with-viu",
        requires = { { "nvim-lua/popup.nvim" } },
    })

    -- UI
    use("stevearc/dressing.nvim")

    --Formatter
    use("jayp0521/mason-null-ls.nvim")
    use("jose-elias-alvarez/null-ls.nvim")
    use({
        "ThePrimeagen/refactoring.nvim",
        requires = {
            { "nvim-lua/plenary.nvim" },
            { "nvim-treesitter/nvim-treesitter" },
        },
    })
    -- Easy jump
    use({ "phaazon/hop.nvim", branch = "v2" })

    -- Auto-save
    use("Pocco81/auto-save.nvim")

    -- Http client
    use({ "rest-nvim/rest.nvim", requires = { { "nvim-lua/plenary.nvim" } } })

    -- Terminal toggle
    use({ "akinsho/toggleterm.nvim", tag = "*" })

    -- Auto close pairs
    use("windwp/nvim-autopairs")

    -- Surround
    use("kylechui/nvim-surround")

    -- Comments
    use("numToStr/Comment.nvim")
    use("JoosepAlviste/nvim-ts-context-commentstring")

    -- Debugger
    use({ "rcarriga/nvim-dap-ui", requires = { "mfussenegger/nvim-dap" } })
    use("theHamsta/nvim-dap-virtual-text")

    -- Rust tools
    use({
        "simrat39/rust-tools.nvim",
        requires = { { "nvim-lua/plenary.nvim" } },
    })

    -- Python
    use("luk400/vim-jukit")

    -- Clang extensions
    use("p00f/clangd_extensions.nvim")

    -- Git
    use("lewis6991/gitsigns.nvim")
    use("sindrets/diffview.nvim")
    use("tpope/vim-fugitive")

    -- Completion
    use("hrsh7th/nvim-cmp")
    use("hrsh7th/cmp-buffer")
    use("hrsh7th/cmp-path")
    use("hrsh7th/cmp-cmdline")
    use("saadparwaiz1/cmp_luasnip")
    use("hrsh7th/cmp-nvim-lsp")
    use("L3MON4D3/LuaSnip")
    use("rafamadriz/friendly-snippets")
    use("onsails/lspkind.nvim")

    -- LSP
    use("neovim/nvim-lspconfig")
    use("b0o/schemastore.nvim")
    use("jose-elias-alvarez/typescript.nvim")
    use("ray-x/lsp_signature.nvim")
    use("lvimuser/lsp-inlayhints.nvim")

    -- Utils
    use("goolord/alpha-nvim")
    use("lewis6991/impatient.nvim")
    use("lukas-reineke/indent-blankline.nvim")
    use("abecodes/tabout.nvim")
    use("max397574/better-escape.nvim")
    use("ellisonleao/glow.nvim")
    use("sitiom/nvim-numbertoggle")
    use("aserowy/tmux.nvim")
    use("rcarriga/nvim-notify")
    use("ethanholz/nvim-lastplace")
    use("dstein64/vim-startuptime")
    use("chrisbra/Colorizer")

    -- Screenshot
    use({ "krivahtoo/silicon.nvim", run = "./install.sh build" })

    if PACKER_BOOTSTRAP then
        require("packer").sync()
    end
end)
ls-devs commented 1 year ago

Fixed in NVIM v0.9.0-dev-561+gd4af8c620%0ABuild