🔴

yarnが突然SIGSEGV出したときの解決策

2023/08/02に公開

手元の開発機として使っているmacOSが突然落ちてしまって、再ログインしてyarnコマンドを叩いたら次のようなエラーが出るようになってしまった。

$ yarn
fish: Job 1, 'yarn' terminated by signal SIGSEGV (Address boundary error)

yarnは内部でv8-compile-cacheというv8のコンパイル結果をキャッシュするライブラリを使っているので、エラー内容からするとおそらくこれかなと思ったらビンゴだった。キャッシュを無効にするための環境変数DISABLE_V8_COMPILE_CACHE=1をつけて実行したらyarnは何事もなく動いてくれた。

$ DISABLE_V8_COMPILE_CACHE=1 yarn

v8-compile-cacheのREADMEを見ると、キャッシュが入っているディレクトリは <os.tmpdir()>/v8-compile-cache-<V8_VERSION> らしいので、キャッシュディレクトリを探して消したら普通に動くようになった。良かったね。

Discussion