Lion + OpenMPのバグ?
Mac OS X 10.7.4 (Lion) + gcc 4.2.1 で、OpenMPがたまにバグる。
エラーメッセージは以下のような感じ。
===================================================================================== = BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES = EXIT CODE: 6 = CLEANING UP REMAINING PROCESSES = YOU CAN IGNORE THE BELOW CLEANUP MESSAGES ===================================================================================== APPLICATION TERMINATED WITH THE EXIT STRING: Abort trap: 6 (signal 6)
gdbで見たらこんな感じ。
Program received signal SIGABRT, Aborted. 0x00007fff88389bf2 in __psynch_mutexwait () (gdb) up #1 0x00007fff867281a1 in pthread_mutex_lock () (gdb) up #2 0x00000001000022c4 in gomp_barrier_destroy () (gdb) up #3 0x0000000100001f5b in gomp_team_end ()
まだよくわからないが、Snow Leopardでは問題が生じないのでOS 依存の可能性あり。ちなみにgccのバージョンは4.2.1。
$ mpic++ --version i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00) Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.