Migrating to 2021.4 from Intel Fortran circa 2015. Very simple code now generating a runtime breakpoint at a simple read statement:
Debug Assertion Failed!
Expression: (L"Buffer is too small" && 0)
For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.
(Press Retry to debug the application)
HNEWWING.exe has triggered a breakpoint.
WRITE(*,'(A\)') ' ENTER INPUT GEOMETRY filename.ext '
WRITE(*,'(A\)') ' ENTER OUTPUT GEOMETRY filename (NO .EXT) '
Fails at first READ
Clueless as to why this fails now. I must have something wrong in the new environment
Hi David -
Thanks for the quick reply. I have attached the six routines that are the entire program. If you would like a sample input file, I can send one of those too. My breakpoint comes before that even gets opened. It comes on the file name read.
Thanks for your help.
You did not provide the include file BAS.CMN. Yes, the input data files should be provided, since without them the program cannot be run.
- You use unit 5 to read from the data file. This may cause problems since unit 5 is typically connected to standard input (used to be card reader or terminal keyboard).
- The argument to subroutine DATES should be CHARACTER(8). In the caller, however, the actual argument CREATD has the implicit type REAL.
Hi mecej4 -
Thanks for the note.
The "BAS.CMN" file is here:
I have attached a sample input file..."TEST3C.TXT"
Thanks for your help.
I see that this is a QuickWin program, which I am not familiar with. Someone else will probably help you.
After changing IFWIN to DFWIN, etc., in the USE statements, I built and ran the program with CVF 6.6, and it ran to completion, producing a HWG file.
With the Intel compiler, however, the program closed the window and crashed as soon as I entered the name of the input data file. Is that what you experienced, too?
Yes - that is the same crash. Thank you for doing that.
If you debug that crash, do you get to "C++ assertion" verbage? Why would I be invoking C++? I wouldn't know a C++ if it walked up and bit me.!
I wonder if something has changed in the fortran standard for the "A" format??
The Fortran compiler generates code that uses some of the same runtime routines as the Visual C compiler. The compiler developers are best equipped to debug the code produced by their compiler at the assembler or C runtime level.
I attach a Zip file with a character I/O version of your program. It runs normally when compiled with the Intel compiler (with one bug if compiled into a 32-bit EXE, an error occurs when a STOP statement is executed).
Since both the character I/O version runs fine with CVF and Ifort, and the Quickwin version runs fine with CVF, I suspect a bug in the Quick Windows library of Ifort.
Wow -thank you for the note IanH. Its the same error, and remains unfixed in Intel Fortran Classic 2021.4 and subs. This renders these compilers unusable. They should be recalled. What was the testing protocol (or lack thereof) that missed this simple READ error??? Maybe its time to move away from Intel Fortran Compilers.
Unfortunately, this problem and :
referenced in this string are the same problem and are unresolved. No communication from Intel. Very disappointing.
Unfortunately, fixes take a long time to appear, for various reasons. If you have paid support, you could ask for a "hotfix" replacement QuickWin library.