Page 1 of 1

SIGSEGV in vasp 5.4.4 on line 808 of hamil.F

Posted: Wed Jul 21, 2021 7:06 pm
by craig_plaisance1
I'm frequently getting a seg fault that I trace to line 808 of hamil.F (see stack trace below). It occurs "randomly" but it is deterministic - i.e., it only happens for certain POSCAR/INCAR files, but it will occur every time a job is submitted with that POSCAR/INCAR. Seems to happen more often for small systems (molecule in a box) like the one attached.

The executable was compiled using the intel fortran compiler, version 18.0.0, with MKL (makefile.include is attached). I tried compiling with -check all in main.F, electron.F, rmm-diis.F, and hamil.F but that didn't catch anything. The input files are attached, along with stdout and stderr (cci_out, cci_err). The latest PAW pseudopotentials were used.


forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
vasp_std_orig 00000000014DEF3D Unknown Unknown Unknown
libpthread-2.12.s 000000371180F7E0 Unknown Unknown Unknown
vasp_std_orig 00000000006421EB hamil_mp_hamiltmu 808 hamil.F
vasp_std_orig 0000000000D0E827 rmm_diis_mp_eddrm 287 rmm-diis.F
vasp_std_orig 0000000000D7F92B elmin_ 408 electron.F
vasp_std_orig 0000000001366DA1 vamp_IP_electroni 4745 main.F
vasp_std_orig 0000000001343805 MAIN__ 2792 main.F
vasp_std_orig 000000000040EF5E Unknown Unknown Unknown
libc-2.12.so 000000371141ED1D __libc_start_main Unknown Unknown
vasp_std_orig 000000000040EE69 Unknown Unknown Unknown

Re: SIGSEGV in vasp 5.4.4 on line 808 of hamil.F

Posted: Thu Jul 22, 2021 12:44 pm
by henrique_miranda
Can you check what is the output of

Code: Select all

ulimit -s
on the computer where you are running VASP?

In case it is not unlimited you should set it:

Code: Select all

ulimit -s unlimited
In principle, you can add this command to your .bashrc or equivalent.

Re: SIGSEGV in vasp 5.4.4 on line 808 of hamil.F

Posted: Thu Jul 22, 2021 7:57 pm
by craig_plaisance1
Yes, that did it!
Now I see that VHAMIL declares some pretty big arrays on the stack - makes sense now
Thanks for the tip