1

私はmultiprocess script in python2.7 for plottingの例でGitHubレポを開発しました。基本的に、スクリプトは1つのプロセスを割り当ててデータを生成し、そのデータはキューを介してプロットを生成する第2のプロセスに渡されます。両方のサンプル 'multiproc_processIPC.py'または 'multiproc_poolQ​​UEUE.py'を実行すると、次のエラーが発生します。 このエラーは、MacをOSX Sierraにアップグレードした後に発生したことに注意してください。 誰にもこの問題の起源の手掛かりがありますか? python2.7 [82890] パス:/ユーザ/ USER/* /パイソン 識別子任意のヘルプは非常Mac OSX SierraでのPythonマルチプロセスプロットの問題 - 例外タイプEXC_BAD_INSTRUCTION

=====エラーレポート=====

プロセスを理解されるであろう:python2.7 バージョン:??? コードタイプ:X86-64(ネイティブ) 親プロセス:python2.7 [82883]責任 :python2.7 [82890] ユーザID:501

日付/時刻:2016年12月4日22時34分:29.874 0100 OSバージョン:MacのOS X 10.12.1(16B2555) レポートのバージョン:12 匿名UUID:689587A6-D759-0F81-671D-1079942B7C42ブート以来

時間アウェイク:9000秒

システムインテグリティ保護:有効

はスレッドをクラッシュ:0ディスパッチキュー:com.apple.mainスレッド

例外タイプ:EXC_BAD_INSTRUCTION(SIGILL) 例外コード:0x0000000000000001、0x0000000000000000 例外注:EXC_CORPSE_NOTIFY

終結シグナル:不当命令:4 終了理由:名前空間SIGNAL、コードを0x4 終端処理:LIBDISPATCHクライアントIN BUG:_dispatch_main_queue_callback_ [0]

アプリケーション固有の情報EXCハンドラcom.apple.mainスレッド 0 libdispatch.dylib 0x00007fff8f9ddd21 _dispatch_main_queue_callback_4CF + 1291 1 com.apple:間違ったスレッド から呼び出さ4CFはクラッシュ::ディスパッチキューをスレッド0

実行前フォークの子側に墜落しました。 CoreFoundationの0x00007fff7a97abe9 CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE + 9 2 com.apple.CoreFoundation 0x00007fff7a93c00d __CFRunLoopRun + 2205 3 com.apple.CoreFoundation 0x00007fff7a93b514 CFRunLoopRunSpecific + 420 4 com.apple.HIToolbox 0x00007fff79ed8fbc RunCurrentEventLoopInMode + 240 5 com.apple.HIToolbox 0x00007fff79ed8df1 ReceiveNextEventC ommon + 432 6 com.apple.HIToolbox 0x00007fff79ed8c26 _BlockUntilNextEventMatchingListInModeWithFilter + 71 7 com.apple.AppKit 0x00007fff785c2b79 _DPSNextEvent + 1093 8 com.apple。AppKitの0x00007fff78cd81c3 - [NSApplicationの(NSEvent)_nextEventMatchingEventMask:untilDate:INMODE:デキュー:] + 1637 9 Tkの0x0000000104b01285 0x104a47000 + 762501 10のTk + 0x104a47000 0x0000000104b0171f 763679 11のTcl 0x00000001049d75f8 Tcl_DoOneEvent + 317 12 Tkの0x0000000104a55932 0x104a47000 + 59698 13のTcl 0x00000001049695b7 0x10495b000 + 58807 14のTcl 0x0000000104969e46 Tcl_EvalObjv + 59 15 _tkinter.so 0x00000001037dfe39 Tkapp_Call + 617 16 libpython2.7.dylib 0x00000001000a3302 PyEval_EvalFrameEx + 3730 17 libpython2.7.dylib 0x00000001000ac913 fast_function + 179 18 libpython2.7.dylibの0x00000001000a338a PyEval_EvalFra meEx + 3866 19 libpython2.7.dylib 0x00000001000ac7dc PyEval_EvalCodeEx + 2092 20 libpython2.7.dylib 0x00000001000ac988 fast_function + 296 21 libpython2.7.dylib 0x00000001000a338a PyEval_EvalFrameEx + 3866 22 libpython2.7.dylib 0x00000001000ac7dc PyEval_EvalCodeEx + 2092 23 libpython2 .7.dylib 0x00000001000ac988 fast_function + 296 24 libpython2.7.dylib 0x00000001000a338a PyEval_EvalFrameEx + 3866 25 libpython2.7.dylib 0x00000001000ac7dc PyEval_EvalCodeEx + 2092 26 libpython2.7.dylib 0x0000000100035c1b function_call + 347 27 libpython2.7.dylib 0x000000010000c761 PyObject_Call + 97 28 libpython2.7.dylib 0x00000001000a3cea PyEval_EvalFrameEx + 6 266 29 libpython2.7.dylib 0x00000001000ac7dc PyEval_EvalCodeEx + 2092 30 libpython2.7.dylib 0x00000001000ac988 fast_function + 296 31 libpython2.7.dylib 0x00000001000a338a PyEval_EvalFrameEx + 3866 32 libpython2.7.dylib 0x00000001000ac7dc PyEval_EvalCodeEx + 2092 33 libpython2.7 .dylib 0x0000000100035c1b function_call + 347 34 libpython2.7.dylib 0x000000010000c761 PyObject_Call + 97 35 libpython2.7.dylib 0x000000010001e7d7 instancemethod_call + 503 36 libpython2.7.dylib 0x000000010000c761 PyObject_Call + 97 37 libpython2.7.dylib 0x000000010006673a slot_tp_init + 106 38 libpython2.7.dylib 0x0000000100062465 type_call + 229 39 libpython2.7.dylib 0x000000010000c761 PyObject_Call + 97 40 libpython2.7.dylib 0x00000001000a35a5 PyEval_EvalFrameEx + 4405 41 libpython2.7.dylib 0x00000001000ac7dc PyEval_EvalCodeEx + 2092 42 libpython2.7.dylib 0x0000000100035c1b function_call + 347 43 libpython2.7。 dylib 0x000000010000c761 PyObject_Call + 97 44 libpython2.7.dylib 0x000000010001e7d7 instancemethod_call + 503 45 libpython2.7.dylib 0x000000010000c761 PyObject_Call + 97 46 libpython2.7.dylib 0x000000010006673a slot_tp_init + 106 47 libpython2.7.dylib 0x0000000100062465 type_call + 229 48 libpython2.7.dylib 0x000000010000c761 PyObject_Call + 97 49 libpython2.7.dylib 0x00000001000a3cea PyEval_EvalFrameEx + 6266 50 libpython2.7.dylib 0x00000001000ac913 fast_function + 179 51 libpython2.7.dylib 0x00000001000a338a PyEval_EvalFrameEx + 3866 52 libpython2.7.dylib 0x00000001000ac913 fast_function + 179 53 libpython2.7.dylib 0x00000001000a338a PyEval_EvalFrameEx + 3866 54 libpython2.7.dylib 0x00000001000ac7dc PyEval_EvalCodeEx + 2092 55 libpython2.7.dylib 0x0000000100035c1b function_call + 347 56 libpython2.7.dylib 0x000000010000c761 PyObject_Call + 97 57 libpython2.7.dylib 0x000000010001e7d7 instancemethod_call + 503 58 libpython2.7.dylib 0x000000010000c761 PyObject_Call + 97 59 libpython2.7。dylib 0x000000010006673a slot_tp_init + 106 60 libpython2.7.dylib 0x0000000100062465 type_call + 229 61 libpython2.7.dylib 0x000000010000c761 PyObject_Call + 97 62 libpython2.7.dylib 0x00000001000a35a5 PyEval_EvalFrameEx + 4405 63 libpython2.7.dylib 0x00000001000ac913 fast_function + 179 64 libpython2.7.dylib 0x00000001000a338a PyEval_EvalFrameEx + 3866 65 libpython2.7.dylib 0x00000001000ac7dc PyEval_EvalCodeEx + 2092 66 libpython2.7.dylib 0x00000001000ac856 PyEval_EvalCode + 54 67 libpython2.7.dylib 0x00000001000cb3d4 PyRun_FileExFlags + 164 68 libpython2.7.dylib 0x00000001000cc709 PyRun_SimpleFileExFlags + 409 69 libpython2.7.dylib 0x000 0 libsystem_kernel.dylib 0x00007fff8fb354e6 __workq_kernreturn + 10 1 libsystem_pthread.dylib 0x00007fff8fc1d622 _pthread_wqthread + 1023 2 libsystem_pthread.dylib 0x00007fff8fc1d211 start_wqthread + 13

スレッド:00001000e01ca Py_Main + 2938 70 Pythonは+ 52

スレッド1を起動0x0000000100000f14 2: 0 libsystem_kernel.dylib 0x00007fff8fb354e6 __workq_kernreturn + 10 1 libsystem_pthread.dylib 0x00007fff8fc1d622 _pthread_wqthread + 1023 2 libsystem_pthread.dylib 0x00007fff8fc1d211 start_wqthread + 13

糸3: 0 libsystem_kernel.dylib 0x00007fff8fb354e6 __workq_kernreturn + 10 1 libsystem_pthread.dylib 0x00007fff8fc1d7b5 _pthread_wqthread + 1426 2 libsystem_pthread.dylib 0x00007fff8fc1d211 start_wqthread + 13

スレッド4: 0 libsystem_kernel.dylib 0x00007fff8fb34f4e __select + 10 1のTcl 0x0000000104a08271 0x10495b000 + 709233 2 libsystem_pthread.dylib 0x00007fff8fc1daab _pthread_body + 180 3 libsystem_pthread.dylib 0x00007fff8fc1d9f7 _pthread_start + 286 4 libsystem_pthread.dylib 0x00007fff8fc1 D221のthread_start + 13

スレッド5 :: com.apple.NSEventThread 0 libsystem_kernel.dylib 0x00007fff8fb2d41a mach_msg_trap + 10 1 libsystem_kernel.dylib 0x00007fff8fb2c867 mach_msg + 55 2 libsystem_kernel.dylib 0x00007fff8fb21ed1 _kernelrpc_mach_port_set_attributes + 150 3 libdispatch.dylib 0x00007fff8f9e7739 _dispatch_runloop_queue_handle_init + 171 4 libdispatch.dylib 0x00007fff8f9d84b7 _dispatch_runloop_root_queue_create_4CF + 133 5 com.apple.CoreFoundation 0x00007fff7a9091e6 __CFRunLoopF​​indMode + 502 6 com.apple.CoreFoundation 0x00007fff7a909889 CFRunLoopAddSource + 201 7 com.apple.HIToolbox $ 000 07fff79ed9897 AdjustCGSSourceInRunLoop(ボイド()(__ CFRunLoop、__CFRunLoopSource *、__CFStringのCONST *)、__CFRunLoop *、__CFRunLoopSource *)+ 180 8 com.apple.HIToolbox 0x00007fff79ed97bb AddCGSSourceToRunLoop(__ CFRunLoop *)+ 78 9 com.apple.HIToolbox 0x00007fff79eecc52 _BeginEventReceiptOnThread + 181 10 com.apple.AppKit 0x00007fff7870f4f8 _NSEventThread + 37 11 libsystem_pthread.dylib 0x00007fff8fc1daab _pthread_body + 180 12 libsystem_pthread.dylib 0x00007fff8fc1d9f7 _pthread_start + 286 13 libsystem_pthread。 RAX:0x0000000000000307 RBX:0x00000001003d93f0 RCX:0x00007fff8f9f9530 RDX:0x0000000000000307 RDI:0x0000000000000001 RSI:0x0000000000000006 RBP:0x00007fff5fbfa160 RSP:0x00007fff5fbfa0f0 R8 dylib 0x00007fff8fc1d221 thread_start + 13

スレッド0は、X86スレッド状態(64ビット)でクラッシュ:0x0000000000000040 R9:0x00000001003d9408 R10:R11 0xffffffffffffffff:0x0000000000012068 R12:R13 0x00000001003d93e0:0x00000001003d94a0 R14:R15 0x00007fff986f5a80:0x0000000102076898 RIP:0x00007fff8f9ddd21 RFL:0x0000000000010202 CR2:3:

論理CPU 0x00007fff9db1224bエラーコード:0x00000000の トラップ番号:6枚の

バイナリ画像: 0x100000000 - 0x100000ff7 +パイソン(???)/ユーザ/ USER//pythonの 0x100003000 - 0x100146ff7 + libpython2.7.dylib(2.7)< 87FF0E63-058F-3190-A882-8E25F3D889C7> /ユーザ/ USER/ /libpython2.7.dylib 0x1002db000 - 0x1002dcff7 + _locale.so(???)/ユーザ/ USER/ /_locale.so 0x1002e0000 - 0x1002e6ff7 + itertools.so(???)/ Users/USER/ /itertools.so < < < < <x7fff8fc53ff7 libsystem_trace - 簡潔にするため省略LINES >>>>>> 0x7fff8fc2b000 - > /usr/lib/system/libsystem_symptoms.dylib 0x7fff8fc33000 0x7fff8fc32fff libsystem_symptoms.dylib(532.1.1)< 8FB7CA37-79EF-3651-B5B9-B5E1E0947067。 0x7fff8fc59ffb libunwind.dylib(35.3)< 9F7C2AD8-A9A7-3DE4-828D-B0F0F166AAA0> /usr/lib/system/libunwind.dylib 0x7fff8fc5a000 - 0x7fff8fc54000 /usr/lib/system/libsystem_trace.dylib dylib(518.20.8) - 0x7fff8fc83ff7 libxpc.dylib(972.20.3)< 85EB25FD-218F-38EE-9E69-391CC8EBE6C5> /usr/lib/system/libxpc.dylib

外部変形の概要:このプロセスを標的とする他​​のプロセスによって作ら コール: task_for_pid:0 thread_create:0 thread_set_state:この方法によって製造された0 コール: task_for_pid:0 thread_create:0 thread_set_state:このマシン上のすべてのプロセスによって作ら0 コール: task_for_pid:542465 thread_create:0 thread_set_state:0

VM地域要約:ライブラリの 読み取り専用部分:合計= 254.5M常駐= 0K(0%)= 254.5M(100%) 書き込み可能領域swapped_out_or_unallocated:合計= 96.5M書き込ま= 0Kを(0% )resident = 0K(0%)swapped_out = 0K(0%)未割り当て= 96.5M(1 00パーセント)

      VIRTUAL REGION 

領域タイプサイズの数(非合体) 256K 2トレース=========== ======= ======= アクティビティ CoreUI画像ファイル144K 3 派遣の継続8192K 2 カーネルのAlloc回8K 2 MALLOC 61.8M 54 MALLOCガードページ32K 7 メモリタグ242 12K 2 STACK GUARD 56.0M 7 スタック10.1M 7 VM_ALLOCATE 48K 7 __DATA 21。0M 292 __IMAGE 528K 2 __LINKEDIT 115.0M 66 __TEXT 139.5M 288 __unicode 556K 2 マップファイル43.2M 9 共有メモリ16.3M 12 =========== ====== = ======= TOTAL 472.4M 747

モデル:MacBookPro11,1、ブートROM MBP111.0138.B17、2つのプロセッサ、インテルコアi5、2,4ギガヘルツ8 GB、SMC 2.16f68 グラフィック:Intel Iris、Intel Iris、内蔵 メモリモジュール:バンク0/DIMM0,4GB、DDR3,1600MHz、0x80AD、0x484D54343531533641465238412D50422020 メモリモジュール:BANK 1/DIMM0,4GB、DDR3,1600MHz、0x80AD、0x48 4D54343531533641465238412D50422020 のAirMac:spairport_wireless_card_type_airport_extreme(0x14E4、0x112)、ブロードコムBCM43xx 1.0(7.21.171.47.1a8) ブルートゥース:バージョン5.0.1f7、3つのサービス、17台のデバイス、1つの入力シリアルポート ネットワークサービス:空港、空港、シリアルEN0 ATAデバイス:APPLE SSD SM0256F、251ギガバイト USBデバイス:USB 3.0バス USBデバイス:Appleの内蔵キーボード/トラックパッド USBデバイス:BRCM20702ハブ USBデバイス:BluetoothのUSBホストコントローラ のThunderboltバス:MacBook Proの、アップル社、 17.2

+0

私の推測では、マルチプロセスとGUIコード間のやりとりに関する問題が発生していると思います。どのmplバックエンドを使用していますか?ファイルを保存することが目的なら、非対話型バックエンドのいずれかを使用することをお勧めします。デフォルトのバックエンドであるhttp://matplotlib.org/faq/usage_faq.html#what-is-a-backend – tacaswell

+0

を参照してください。しかし、もし私が 'を使用すると、import matplotlib matplotlib.use(' MacOSX ')' 私はプロットを見ません。 OSX Sierraにアップデートする前にすべて正常に動作していましたが、今は1週間この問題で戦っています... –

+0

以下のアップデートがあります。 –

答えて

0

さらに詳しい情報:最初のプロセスを実行するとそのスクリプト 'visl.py' M端子が、ある:

#!/usr/bin/env python 
from multiprocessing import Process 
import sys 
sys.path.insert(0, './lib') 
import visualizer 

visualizer.Visualizer() 

た後、第2の処理スクリプト 'logr.py' は異なる端末インスタンスから:それが動作

#!/usr/bin/env python 
from multiprocessing import Process 
import sys 
sys.path.insert(0, './lib') 
import logger 


args_logger = {'sampling_time_ms': 5, 'plotting_time_ms': 100} 
logger.Logger(args_logger) 

。次に、1つのスクリプトから2つのpythonプロセスを実行する方法は?

+0

ところで:私は回避策を使って問題を解決しました。明らかに、Pythonのマルチプロセス管理にはいくつかの問題があります。 Rubyは、2つの異なるプロセスを起動して処理するために使用されます。それは私が知っている非常に恐ろしい解決策ですが、私が思いついた良いアイデアです(私は趣味の専門家ではなく、プロのプログラマーではありません)。 解決策はGitHubリポジトリに掲載されています。 –

関連する問題