Crash on OpenMP program
I am using performance library matrix solver, where I am trying to include multithreading using the OpenMP, which is already provided in Performance library solver. So I just need to set omp_num_threads(numOf Threads).
I am getting core dump when I set the number of threads to 2 using omp_num_threads(2).
Interestingly when I set the no of threads using setenv PARALLEL 2; there is no core dump and everything works well. size of the matrix is 805261.
stacksize is set to unlimited.
Anybody knows what could be happening here?
limit, pstack and registes are below:
> limit
cputime unlimited
filesizeunlimited
datasizeunlimited
stacksize8192 kbytes
coredumpsizeunlimited
vmemoryuseunlimited
descriptors256
> pstack core
core 'core' of 27251:./a.out
-- lwp# 2 / thread# 2 --
fd75ac4c _$p1B56.pl_dmtblkl_ (705c0, 2, 705c0, 1a14f410, 705c0, 17c53398) + 1ec
ff368574 run_job_invoke_mfunc_once (fbf93300, ffbfe8c8, ffbfe7c8, 1, 0, 0) + ac
ff3688dc run_my_job (fbf93300, ffbfe8c8, ffbfe7c8, 2, 1, 27395000) + 20
ff3738cc slave_startup_function (ff397380, fbf93350, fbf93328, 1, 2, ff3974c4) + 7dc
ff2b57b4 _lwp_start (0, 0, 0, 0, 0, 0)
-- lwp# 1 / thread# 1 --
fd75ac4c _$p1B56.pl_dmtblkl_ (705c0, 2, 0, 1a14f410, 705c0, 17c53398) + 1ec
ff368574 run_job_invoke_mfunc_once (fbf82080, ffbfe8c8, ffbfe7c8, 1, ffbfe418, ffbfe529) + ac
ff367b3c __mt_MasterFunction_rtc_ (fd759dc0, fbf82100, fbf82240, 38, fbf822b4, ffbfe990) + 51c
fd75a190 pl_dmtblkl_ (ffbfe960, ffbfe99c, 1f800, 702, ffbfe994, ffbfe984) + 390
fd74a484 dgssfa_ (ffbff350, ffbff118, 195fb3f8, 1a1bfbd8, ffbff520, ffbff354) + e44
00018e50 __1cHLavaLibMHBPerfMatrixGfactor6M_v_ (ffbff4e8, fdfe94e0, 20c00, 31800, 1a800, 1) + 50
00018d4c __1cHLavaLibMHBPerfMatrixFsolve6Mrpd_v_ (ffbff4e8, ffbff4e4, ffbffab8, ffbffb28, 0, 53d804b0) + 4
000195e8 main(ffbffab8, ffbff4e8, 1aaa4, 31888, ffbffaa8, 53340) + 4f0
00015f80 _start(0, 0, 0, 0, 0, 0) + 108
>
> mdb core
Loading modules: [ libthread.so.1 libc.so.1 ld.so.1 ]
> $r
%g0 = 0x0000000000000000%l0 = 0x1762e718
%g1 = 0x0000000000000001%l1 = 0x19bdd7e8
%g2 = 0x00000000000705b9%l2 = 0x0fc0a130
%g3 = 0x0000000000000201%l3 = 0xfd89f7b4 libsunperf_isa.so.6`pl_dmtblkl.STR$4
%g4 = 0x000000001a856018%l4 = 0xfd89f7b0 libsunperf_isa.so.6`pl_dmtblkl.STR$3
%g5 = 0x000000001a855010%l5 = 0xfd89f7ac libsunperf_isa.so.6`pl_dmtblkl.STR$2
%g6 = 0x0000000000000000%l6 = 0xfd89f7a8 libsunperf_isa.so.6`pl_dmtblkl.STR$1
%g7 = 0x00000000fdd70200%l7 = 0xffbff118
%o0 = 0x0000000000000001%i0 = 0x000705c0
%o1 = 0x0000000000382e00%i1 = 0x00000002
%o2 = 0x0000000000705c00%i2 = 0x000705c0
%o3 = 0x0000000000382e00%i3 = 0x1a14f410
%o4 = 0x000000000b403e80%i4 = 0x000705c0
%o5 = 0xfffffffffffffffc%i5 = 0x17c53398
%o6 = 0x00000000fbbffb08%i6 = 0xfbbffda8
%o7 = 0x00000000fd75abd0 libsunperf_isa.so.6`_$p1B56.pl_dmtblkl_+0x170 %i7 = 0xff368574
libmtsk.so.1`run_job_invoke_mfunc_once+0xac
%psr = 0xfe901005 impl=0xf ver=0xe icc=NzvC
ec=0 ef=4096 pil=0 s=0 ps=0 et=0 cwp=0x5
%y = 0x00000000
%pc = 0xfd75ac4c libsunperf_isa.so.6`_$p1B56.pl_dmtblkl_+0x1ec
%npc = 0xfd75ac50 libsunperf_isa.so.6`_$p1B56.pl_dmtblkl_+0x1f0
%sp = 0xfbbffb08
%fp = 0xfbbffda8
%wim = 0x00000000
%tbr = 0x00000000
>

