forrtl: severe (29): file not found - VERY ODD PROBLEM

forrtl: severe (29): file not found - VERY ODD PROBLEM

Hello all,

I have been writing Fortran code for engineering research applications for a few years now. I have now encountered a problem that seems rather silly, but I cannot get to the root of it!

I am using using Intel Fortran Compiler in Linux Debian with OpenMP. 

My code is basically an iterative process with time marching numerical integrators and numerical solutions to Reynolds' equation. To solve the latter, I have used the Effective Influence Method with Gauss-Seidel iterations. These require relaxation parameters and convergence criteria to achieve a desired solution. The code works absolutely fine for some conditions.

The problem starts when I have to tighten the convergence criteria and relaxation parameters. At this point, the results would look acceptable, with no evident errors. However, at some point it would simply decide to stop working, giving the following error:

forrtl: No such file or directory
forrtl: severe (29): file not found, unit 41, file /home/miguel/Desktop/Skirt_transient/Full_code_1/gas_pressure_1/run_41/fort.41
Image PC Routine Line Source
run_41 000000000049E28A Unknown Unknown Unknown
run_41 000000000049CD86 Unknown Unknown Unknown
run_41 000000000044ED90 Unknown Unknown Unknown
run_41 000000000041ED3F Unknown Unknown Unknown
run_41 000000000041E247 Unknown Unknown Unknown
run_41 00000000004344C4 Unknown Unknown Unknown
run_41 0000000000414CE2 Unknown Unknown Unknown
run_41 0000000000407ED2 Unknown Unknown Unknown
run_41 00000000004048DC Unknown Unknown Unknown 00007F44628229F3 Unknown Unknown Unknown

Needless to say that I have no unit 41 in my code, this is all internally created by Fortran.

Anyone has any ideas?

I appreciate your help very much, THANKS!



5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Apologies!!! I forgot to mention that the number 41 is irrespective of my run_41 name. This same error happens with any other run number.

fort.41 would be a file created implicitly by accessing unit=41 without OPEN.  With OPEN you could check for an error return and put appropriate diagnostics in your program.  Then perhaps you could count how many files you have kept open, in case you are exceeding a limit set by your linux installation.


Needless to say that I have no unit 41 in my code, this is all internally created by Fortran
Unit numbers are associated only with external files. It is possible that you repeatedly execute OPEN(UNIT=ivar,...) statements with different values in the integer variable ivar. At some point, such as when ivar=41, as TimP has suggested, your program might have attempted to open unit-41 and, without checking to see whether the OPEN succeeded, proceeded to do I/O on the file.

Guys, thank you both for your suggestions. I will implement them and see if the problem gets fixed.

Leave a Comment

Please sign in to add a comment. Not a member? Join today