Dear all,
I have a Segmentation fault (core dumped) problem.
When I run my code and I use a function I get a segmentation fault, but only when I use a matrix and a vector with more than 90 elements. I have checked the code but I am not able to find the problem. Could it be the interface problem. Because I allocate some vector and matrix directly in the function. This is my code:
MODULE MOD_SOLVE_COMPLEX_LINEAR_SYSTEM !------------------------------------------------------------------------------ !------------------------------------------------------------------------------ !------------------------------------------------------------------------------ INTERFACE FUNCTION SOLVE_COMPLEX_LINEAR_SYSTEM(A,B,m,n,trans) RESULT(X) USE lapack95 IMPLICIT NONE COMPLEX , DIMENSION(M,N) , INTENT(IN) :: A !matrix to solve COMPLEX , DIMENSION(N) , INTENT(IN) :: B !known term INTEGER, INTENT(IN) :: m ! INTEGER, INTENT(IN) :: n ! CHARACTER*1, INTENT(IN) :: trans !type solver COMPLEX , DIMENSION(N) :: X !solution ENDFUNCTION ENDINTERFACE !------------------------------------------------------------------------------ !------------------------------------------------------------------------------ !------------------------------------------------------------------------------ ENDMODULE MOD_SOLVE_COMPLEX_LINEAR_SYSTEM !------------------------------------------------------------------------------ !------------------------------------------------------------------------------ !------------------------------------------------------------------------------ !------------------------------------------------------------------------------ FUNCTION SOLVE_COMPLEX_LINEAR_SYSTEM(A,B,m,n,trans) RESULT(X) USE MOD_SOLVE_COMPLEX_LINEAR_SYSTEM USE lapack95 IMPLICIT NONE COMPLEX , DIMENSION(M,N) , INTENT(IN) :: A !matrix to solve COMPLEX , DIMENSION(N) , INTENT(IN) :: B !known term INTEGER, INTENT(IN) :: m ! INTEGER, INTENT(IN) :: n ! CHARACTER*1, INTENT(IN) :: trans !type solver COMPLEX , DIMENSION(N) :: X !solution INTEGER, DIMENSION(N) :: IPIV COMPLEX, DIMENSION(M,N) :: LA INTEGER :: info LA=A X=B ! some operations...... ENDFUNCTION
What do you think?
Thanks a lot