[SCore-users-jp] -lpthread、-nostatic指定でコンパイルしたジョブを実行すると異常終了
Mitsugu Kawaguchi
m-kawaguchi @ pst.fujitsu.com
2003年 12月 6日 (土) 20:49:58 JST
亀山様
富士通プライムソフトテクノロジの川口です。
いつもお世話になっております。
下記環境でジョブが実行できない現象が発生しています。
[環境] RedHat Linux8.0 + SCore5.6.1
[操作] % mpicc -nostatic a.c -lpthread
% scrun -group=all ./a.out
FEP:ERROR Illegal resource specification, or
'./a.out' is not an SCore application.
どうやら、strverscmp関数を呼び出すところで
SIGSEGVが発生しているようです。
(以下、富士通デバッガで表示)
---
The program: a.out starting.
Signaled SIGSEGV(11): strverscmp().
0x400a1d3b (strverscmp + 0x3bb) movl (%eax),%eax
fdb* traceback
#0 0x400a1d3b (strverscmp + 0x3bb) (0xbffff5f2,0x80a5d1c,0x0)
#1 0x0804b8ce (kernel_has_rtsig + 0x36) (0x400d3230,0x40011960,0xbffff838)
#2 0x0804b8ed (init_rtsigs + 0xb) (0x40035a30,0xbffff788,0x40011ab0)
#3 0x0804bb70 (pthread_initialize + 0x50) (0x40148e58,0x401486b8,0xbffff858)
#4 0x080a5c75 (__do_global_ctors_aux + 0x19) (0x80a5c80,0x0,0xbffff878)
#5 0x0804ada6 (_init + 0x16) (0x0,0x40008f00,0x4000968c)
#6 0x400444b6 (__libc_start_main + 0x72) (0x804b820,0x1,0xbffff8a4)
#7 0x0804b791 (_start + 0x21) ()
---
試しにRedHat Linux7.3 + SCore5.6.1で同一操作を行ったところ
問題なく実行できました。
[操作] % mpicc -nostatic a.c -lpthread
% scrun -group=all ./a.out
SCOUT: Spawning done.
SCore-D 5.6.1 connected.
<0:0> SCORE: 2 nodes (2x1) ready.
pthread_self start
MPI_Init start
MPI_Finalize start
pthread_self start
MPI_Init start
MPI_Finalize start
program end
program end
SCOUT: Session done.
ちなみにソースは下記を利用してます。
---(ここから)---
#include "mpi.h"
#include <stdio.h>
#include <pthread.h>
int main( int argc, char **argv )
{
pthread_t tid;
printf("pthread_self start\n");
tid = pthread_self();
printf("MPI_Init start\n");
MPI_Init( &argc, &argv );
printf("MPI_Finalize start\n");
MPI_Finalize();
printf("program end \n");
return 0;
}
---(ここまで)---
なぜ、RHL7.3+SCore5.6.1環境で問題が発生しないか不明ですが、
RHL8.0+SCore5.6.1環境配下で-nostatic、-lpthreadオプション指定で
ジョブ実行させるためのアドバイスをいただけたら幸いです。
以上、宜しくお願いします。
---
川口 ==> m-kawaguchi @ pst.fujitsu.com
SCore-users-jp メーリングリストの案内