Did you check docs and existing issues?
Neovim version (nvim -v)
0.12.1
Operating system/version
Linux (WSL2), x86_64
Describe the bug
After upgrading to Neovim 0.12.1, Neovim hard crashes (aborts instantly) when trying to open certain UI elements like the :Lazy window or when specific messages are triggered. The crash logs indicate a C-level assertion failure in statusline.c related to message highlight attributes, which seems to conflict with how noice.nvim handles ext_messages.
Steps To Reproduce
- Use Neovim 0.12.1.
- Setup noice.nvim with default message handling (or routing msg_show events).
- Open Neovim and run :Lazy (or trigger an event that heavily updates the message area/ruler).
- Neovim instantly crashes and drops to the terminal.
- the following crash log is captured:nvim: /usr/src/debug/neovim/neovim/src/nvim/statusline.c:543: redraw_ruler: Assertion `attr == HL_ATTR(HLF_MSG)' failed.
- Disabling the message routing in Noice prevents the crash and allows Neovim to run normally:
require("noice").setup({
messages = {
enabled = false, -- Disabling this avoids the assertion failure
},
})
Expected Behavior
The UI/message should render smoothly without causing a fatal C-level assertion failure in Neovim's redraw loop.
Repro
vim.env.LAZY_STDPATH = ".repro"
load(vim.fn.system("curl -s https://raw.githubusercontent.com/folke/lazy.nvim/main/bootstrap.lua"))()
require("lazy.minit").repro({
spec = {
{ "folke/noice.nvim", opts = {} },
-- add any other plugins here
},
})
Did you check docs and existing issues?
Neovim version (nvim -v)
0.12.1
Operating system/version
Linux (WSL2), x86_64
Describe the bug
After upgrading to Neovim 0.12.1, Neovim hard crashes (aborts instantly) when trying to open certain UI elements like the :Lazy window or when specific messages are triggered. The crash logs indicate a C-level assertion failure in statusline.c related to message highlight attributes, which seems to conflict with how noice.nvim handles ext_messages.
Steps To Reproduce
Expected Behavior
The UI/message should render smoothly without causing a fatal C-level assertion failure in Neovim's redraw loop.
Repro