运行Neovim时出现ui_compositor.c断言失败报错该如何解决?
Neovim 0.5.0启动
ui_compositor.c断言错误排查方案 报错信息:
nvim: /builddir/build/BUILD/neovim-0.5.0/src/nvim/ui_compositor.c:556: ui_comp_raw_line: Assertion 'attrs[i] >= 0' failed.
该错误属于Neovim 0.5.0版本的UI渲染层已知问题,由绘制界面时读取到非法负属性值触发,可按以下步骤排查处理:
排查步骤
- 首先执行
nvim --clean启动无配置的Neovim实例:- 若启动正常,说明故障由本地配置、第三方插件导致
- 若仍报相同错误,说明是Neovim二进制本身的兼容性问题
对应解决方案
二进制故障解决方案
直接升级Neovim到0.6及以上版本即可,该断言bug在后续版本中已经被官方修复,老旧的0.5.0版本不再维护,升级是最彻底的解决方法。
配置/插件故障解决方案
- 优先排查近期新增的以下类型插件,逐一把插件注释后重启测试定位问题项:
- 配色主题插件
- 状态栏、bufferline类UI展示插件
- Treesitter、语义高亮类插件
- 检查自定义配置中的高亮规则,删除存在非法参数的
highlight相关配置 - 检查终端
TERM环境变量配置,避免使用不支持真彩色的终端类型强制开启termguicolors,若无需真彩色可临时添加set notermguicolors到配置中规避问题 - 临时兼容方案:0.5.x版本可添加
let g:ui_compositor_enabled = 0到配置文件,关闭UI合成层功能绕过断言校验
内容的提问来源于stack exchange,提问作者RoNaba
相关产品推荐
相关产品推荐

