Open t-sakashita opened 4 years ago
cscalapack_pdsyevxの0行目で強制終了されるのは、なぜか?
example/scalapack/pdsyevx_f.f90がseg fault
(lldb) run
n = 8
nprocs = 1
nprow = 1
npcol = 1
eigenvalues: 0.25873593027213443 0.28752008977568855 0.34584404432670607 0.45776296243322334 0.68838568483467788 1.2582878272128752 3.3381655667727590 29.365297894371942
Process 56298 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x30)
frame #0: 0x0000000109768399 libmpi.40.dylib`coll_base_module_destruct + 57
libmpi.40.dylib`coll_base_module_destruct:
-> 0x109768399 <+57>: movq 0x30(%rax), %rbx
0x10976839d <+61>: movq (%rbx), %rax
0x1097683a0 <+64>: testq %rax, %rax
0x1097683a3 <+67>: je 0x1097683c1 ; <+97>
Target 0: (pdsyevx_f) stopped.
Process 56298 launched: './pdsyevx_f' (x86_64)
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x30)
* frame #0: 0x0000000109768399 libmpi.40.dylib`coll_base_module_destruct + 57
frame #1: 0x00000001097673f4 libmpi.40.dylib`mca_coll_base_comm_unselect + 10703
frame #2: 0x00000001096d7bd7 libmpi.40.dylib`ompi_comm_destruct + 32
frame #3: 0x00000001096d986b libmpi.40.dylib`ompi_comm_free + 469
frame #4: 0x0000000109705209 libmpi.40.dylib`MPI_Comm_free + 153
frame #5: 0x0000000100a0e3f3 libscalapack.dylib`blacs_gridexit_(ConTxt=0x00007ffeefbfeb2c) at blacs_grid_.c:26
frame #6: 0x000000010000383a pdsyevx_f`MAIN__ at pdsyevx_f.f90:77
frame #7: 0x0000000100003889 pdsyevx_f`main at pdsyevx_f.f90:2
frame #8: 0x00007fff501a0015 libdyld.dylib`start + 1
frame #9: 0x00007fff501a0015 libdyld.dylib`start + 1
C++を使わないexample/scalapack/pdsyevx.cの段階でエラー
cscalapack_pdsyevx_work
をコメントアウトしたら、エラーは出ない。
そのため、cscalapack_pdsyevx_work
の中に原因がありそう。
MacにてOpenMPI、clang++、gfortran
デバッガの出力: