Hello, my name is Giuseppe Pilato, a student of Space Engineering in Italy
I need help; I am using a code, written in our department, that uses ifortran as compiler.
After having compiled, I try to run the code, but what I get is always:
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Stack trace terminated abnormally.
I have put a series of flags into the code, for trying to solve the part of the code that does not work, and it seems that the code can't do this operation:
double precision co_a
double precision ro(nsc),Rtot
double precision p,rotot,gam
double precision cp,cpi(10),comp_ms_tab
write(*,*)'i am here delta'
I have already checked the stack sizing, and it seems okay
Can anybody help me?
sorry for the disturb, Thank you
Unfortunately, you haven't really given us enough details to help. But, let me give you some more things to try.
First, compile using "-warn all" and "-check all". This will turn on extra checking to make sure there isn't something fundamentally wrong, such as array access out of its legal bounds.
Second, add the "-traceback" switch when you build. This should give you a more detailed traceback as to which routine is actually failing.
One "unexpected' thing that could be happening, other than accessing an array out of bounds, is perhaps you are trying to write to a constant. This can happen if you pass a constant (such as 2.0) to a function, and the function tries to set that argument to a different number.
Does the program you are using have cases or models with known results, such as comparison to closed-form solutions, as test cases? If yes, do the known result test cases run correctly? Even if the test case is very basic, starting from a working model could help with your debugging. Debugging can be difficult but there is always a reason that a program does not work. Good Luck.