[Wien] Segmentation fault in f7splt (lapw2)

Pavel Ondračka pavel.ondracka at email.cz
Mon Oct 7 12:00:11 CEST 2013


Dear WIEN2k mailing list,

this is a follow up to thread "compilation problems on AIX with xlf90".
I've finally managed to compile WIEN2k_13 on AIX 5.3, 
however I'm now getting a segfault when running lapw2.

Segmentation fault in f7splt at line 51 in file "" ($t1)
could not read "f7splt.f"
(dbx) where
f7splt(alm = (...), blm = (...), clm = (...), mult = 2, uenorm =
0.0028448010014590045, num = 1, coord = '     ', dmat = (...)), line 51
in "f7splt.f"
csplit(0xfffffffffd8f50c, 0xfffffffffd8f510, 0xfffffffffd8a718,
0xfffffffffd8976c, 0xfffffffffd8f67c, 0x11023fe30, 0x110250590,
0x110260cf0), line 78 in "csplit.f"
l2main(0xfffffffffffe340, 0xfffffffffffdb84, 0xfffffffffffe518,
0x1101ac4b0, 0x110000b88, 0xfffffffffffdb80, 0xfffffffffffdb90,
0xfffffffffffdc48), line 1313 in "l2main_tmp_.F"
lapw2(), line 605 in "lapw2_tmp_.F"

The corresponding lines looks like this:
51  dmat(i,j,num)=dmat(i,j,num) + (alm(j)*conjg(alm(i))+ &
52  blm(j)*conjg(blm(i))*uenorm+clm(j)*conjg(clm(i))+ &
53
alm(j)*conjg(clm(i))*pi12lo(ipip,3)+clm(j)*conjg(alm(i))*pi12lo(ipip,3)+
&
54
blm(j)*conjg(clm(i))*pe12lo(ipip,3)+clm(j)*conjg(blm(i))*pe12lo(ipip,3)
) / mult

Going through all the variables shows suspicious value of ipip =
-2147483648, which is used as array index for pi12lo an pe12lo causing
the segfault.
By grepping through SRC_lapw2 directory I can see, that all other
subroutines which use ipip do something like this:
$grep "ipip=" *               
csplit.f: ipip=max(ilo(l),1)
d5splt.f: ipip=max(ilo(2),1)
p3splt.f: ipip=max(ilo(1),1)

I'm wondering if there is some similar initialization statement missing
in f7splt.f and what should be ipip set to? 

Also I hope this isn't just some result of my inexperienced efforts to
make WIEN compile on ancient AIX 5.3 or some other bad configuration. 

Best regards
Pavel Ondračka



More information about the Wien mailing list