I am using the cheev routine in two places in my program to compute the eigenvalues and eigenvectors of a complex Hermitian matrix. In both cases the routine is called within a loop, so it runs more than one times (quite a few, actually). While the program proceeds normally through the first point where cheev is called, it just freezes up when it reaches the second point. I get no error messages, no crash information, no "Segmentation Fault" or anything, and there is definitely no memory leak as verified by running top (memory consumption is more or less constant). Even if I leave the program running for 20 minutes or so, it still refuses to proceed beyond this routine call. It's as if it falls into an endless loop or something, but I can't figure out how that is possible since there is no explicit loop structure from my part at that point of the program. Any ideas or suggestions?
P.S. Is perhaps the existence of swap memory an absolute prerequisite for running this routine? I am only asking this because my 1 GB of swap has mysteriously recently disappeared and I don't know what to make of it. Swap is not just consumed or anything; it's just not there (top reports "0k total" swap memory!!!)