1. ホーム
  2. python

[解決済み】終了コード139でプロセスが終了(シグナル11:SIGSEGVで中断された)。

2022-02-14 10:52:44

質問

を実行しようとしています。 Python スクリプト が、以下のエラーが発生します。

Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)

Linux Mint 18.1 Serena OSでpython 3.5.2を使っています。

なぜこのようなことが起こるのか、どうすれば解決できるのか、どなたか教えてください。

どのように解決するのですか?

SIGSEGVシグナルは、"を示します。 セグメンテーション違反 または "segfault" "です。 多かれ少なかれ、これはプロセス内でマッピングされていないメモリアドレスの読み取りまたは書き込みに相当します。

プログラムのバグを示します。 Pythonのプログラムでは、インタープリタのバグか、使用している拡張モジュールのバグです(後者が最も一般的な原因です)。

この問題を解決するためには、いくつかの選択肢があります。 ひとつは、問題を再現する最小限の、自己完結した完全なサンプルを作成し、それを使用している拡張モジュールのメンテナにバグレポートとして提出する方法です。

また、自分で原因を追究してみるという方法もあります。 gdb Pythonのデバッグビルドや、使用しているすべての拡張モジュールと同様に、このような努力のための貴重なツールです。

gdbをインストールしたら、それを使ってPythonのプログラムを実行します。

gdb --args python <more args if you want>

そして、gdbコマンドで問題を追究してください。 もし、あなたが run を実行すると、プログラムがクラッシュするまで実行され、他のgdbコマンドを使用して状態を検査する機会が与えられます。