|
Prev: How to decide using COMMON block variables or function/subroutine parameters?
Next: Any fortran codes on IntegroDifferential Equation?
From: stocksami@earthlink.net on 26 Oct 2006 18:18 I am using AIX Fortran Version 6. I have a large application with many subroutines and functions. Somewhere I seem to have an argument mismatch. I have argument type mismatch and overlay bounds checking turned on so the problem isn't obvious. The error message I get indicates that I am probably overwriting program instructions. "1525-135 A consistency check found an incorrect I/O request: The program specifies interface level 0; this version of "libxlf90.a" supports level 1. Ensure that the program is not overwriting storage unexpectedly and corrupting I/O descriptors. The program will stop." It always quits on the same read statement even when I comment out unused code and simplify the input to streamline the execution. The statement in question is simple and used to work before I implemented a large # of changes. It's not possible to take out the changes one by one as they are extensive. It dies here: read(22,2004)jrun,jtyp,nfdpar,dtype 2004 format(3i10,2x,a2) I am using the interactive debugger to step thru the code and can't find any problem. Does anyone have any suggestions on how to find my bug?
From: Bil Kleb on 26 Oct 2006 18:22 stocksami(a)earthlink.net wrote: > Does anyone have any suggestions on how to find my bug? We compile and run with multiple compilers to catch things like this. Perhaps you can try gfortran and g95 easily? Regards, -- Bil Kleb http://funit.rubyforge.org http://fun3d.larc.nasa.gov
From: glen herrmannsfeldt on 26 Oct 2006 19:40 stocksami(a)earthlink.net <stocksami(a)earthlink.net> wrote: (snip) > "1525-135 A consistency check found an incorrect I/O request: The > program specifies interface level 0; this version of "libxlf90.a" > supports level 1. Ensure that the program is not overwriting storage > unexpectedly and corrupting I/O descriptors. The program will stop." (snip) > It dies here: > read(22,2004)jrun,jtyp,nfdpar,dtype > 2004 format(3i10,2x,a2) What is the type of dtype? I will guess that you have the wrong library version for your compiler, but it only fails on this statement. I will further guess that dtype is not CHARACTER*2, that the level 0 library supported A format for non-character data, but level 1 does not. In any case, when posting code it is useful to also post the declarations for the variables. -- glen
From: Dan Nagle on 26 Oct 2006 19:53 Hello, stocksami(a)earthlink.net wrote: <snip> > read(22,2004)jrun,jtyp,nfdpar,dtype > 2004 format(3i10,2x,a2) Can you please post the declarations for all variables, as well as the open() statement for unit= 22 ? TIA <snip> -- Cheers! Dan Nagle Purple Sage Computing Solutions, Inc.
From: Ian Bush on 27 Oct 2006 05:13
Haven't got much to say about the error but ... stocksami(a)earthlink.net wrote: > I am using AIX Fortran Version 6. This is an ancient version of AIX Fortran - version 10 is current, and version 11 is not far off. Is it not possible to upgrade ? Ian |