チャップス、私は修正する方法がわからないということに遭遇しました奇妙な沈黙の組み合わせでのpythonでのクラッシュ:OSX、リクエスト、sqlite3の、
奇怪な行動をマルチプロセッシング。私は次のコードをお持ちの場合:
import requests, multiprocessing, sqlite3
requests.get("http://www.google.com")
def fn():
sqlite3.connect("db")
print "this is never printed"
proc = multiprocessing.Process(target = fn)
proc.start()
proc.join()
を私はOS Xヨセミテ上でそれを実行し、サブプロセスは、コマンドを接続sqlite3の中に倒れると、print文が実行されることはありません。私は間違いや何かの兆候が見当たらない。
requests.get
ステートメントを削除すると、処理が再開されます。
Ubuntuでうまく動作するようです。
アイデア?
「フォールオーバー」とはどういう意味ですか?出力がなくなり、 '(ilimit -c unlimited'を実行して)コードを実行すると、' core'ダンプファイルが生成されます。 – cdarke
こんにちはcdarke、助けてくれてありがとう!私はあなたが提供したコマンドを使用してファイルの任意の種類を生成させることができませんでした。しかし、以前はvirtualenvの中で実行していました。私はvirtualenvを無効にして、私のグローバルPythonバイナリに対して実行しました。次の情報のダンプとともに、 'pythonはかなり予期せずエラーが発生しました:http://pastebin.com/vdiQFT8j 十分な情報が必要ですか? – maambmb
OK、SIGSEGVは無効なアドレスです - おそらく最も一般的なクラッシュの形式です。通常は、CまたはC++コードの無効なポインタによって発生します。 Ubuntuのような別の場所から来たOS X上でモジュールを実行しようとしていますか?または、32ビットと64ビットを混在させることができますか? – cdarke