LoginSignup
1
3

More than 3 years have passed since last update.

GCE, Docker環境でSegmentation faultの対処法

Posted at

Segmentation fault

GCEインスタンスでDockerを立ち上げてOpenNMTを実行していたのですがSegmentation fault (core dumped)が出ました。
初めにOpenNMT, PyTorchあたりのエラーを疑ってたんですがDockerが原因で解決したので記録として残しておきます。

解決方

Dockerのオーバーコミットメント設定を変更する
ホストマシンで

sysctl vm.overcommit_memory

を確認して0なら

sysctl vm.overcommit_memory=1

に変更の上、新しく立ち上げたコンテナでプログラムを実行したら解決しました。

原因を探すことの難しさ

Segmentation fault in preprocess
OpeNMTのイシューで同様のエラーが出た人がいるんですが、開発者は「俺たちのエラーじゃない。PyTorchの実装が悪い」と説明してて「PyTorch Segmentation fault」でもググったところ、この問題は解決されてましたが、それ以前のDockerのエラーでした。GCE,Docker,フレームワークの上で実行されたプログラムはエラーの原因を探すことが難しいですね。

参考

Segmentation fault when running in docker container

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3