rcmdnk's blog

Taste your kiss/Aibo/R 100 (2003, vs. Bassoon) / Vinyl Maxi Single [Vinyl 12]

WindowsのWSL上でNeovimを使っていたら突如 munmap_chunk(): invalid pointer Abortedというエラーで落ちて使えなくなった件。

起こった問題

WindowsのWSL上でNeovimを立ち上げようとしたら

munmap_chunk(): invalid pointer
                               Aborted

というエラーが出て立ち上がらずに終了するようになっていました。

~/.config/nvim/init.vimを消すと問題なく立ち上がります。 同じものを~/.vimrcとしてvimを立ち上げると問題なく立ち上がります。

NeovimとVimで一部分岐を作ってプラグインとか使うものを変えたりしてますがそれが問題ではありませんでした。

問題は vim-submode というプラグインを入れて、設定で

call submode#enter_with('winsize', 'n', '', '<C-w>>', '<C-w>>')

みたいにsubmodeの関数を呼んだところで落ちるようになっていました。

これはVimで呼んでも問題なし。

さらにMacや他のLinux上ではNeovimでも問題ありません。

Neovimのバージョンはv0.4.4でこれは8月頭にリリースされていてファイルを直接見ても その頃にインストールされていました。

vim-submodeも最近アップデートはありません。

あとはWindowsのアップデートですが、最近あったのが、

2020 年 9 日 8 日 - KB4571756 (OS ビルド 19041.508)

2020 年 9 月 9 日 - KB4576478 Windows 10 Version 2004 用の .NET Framework 3.5 および 4.8 の累積的な更新プログラム

これらで更新履歴を見ると9月10日にインストールされていました。

そのときに一回再起動していますが、確かにその頃からこの問題が起こった気がします。

記憶では使っていて、ある時から突然おかしくなったようにも思ってたんですが、 記憶違いかも。

上の更新では仮想マシンに関するGPU関連のアップデートがあって、 もしかするとこれが関連しているのかも(あまり関連なさそうですが、関連しそうなのがこれくらいしかない)。

ざっと見ただけだとよくわからないので取り敢えず

.vimrc
1
2
3
if !has('nvim') || !has('unix')
  call dein#add('kana/vim-submode')
endif

といった感じにしてWSL上のNeovimではvim-submodeを無効にするようにしました。

これだと他のLinux環境でも使えないのすが、取り敢えずは仕方なし。

主にVim上でウィンドウ分割した際に各サイズを動かすのに便利に使ってたんですが、 無いと結構だるい場面もあるのでそのうちもうちょっと真面目に調べるつもり。

Sponsored Links
Sponsored Links

« GitHubのデフォルトブランチ名がmasterからmainに変更される バージョン番号のソート »