Hi,
I'm trying to use pFUnit. But I got the following error while running ./tests/tests.x:
forrtl: severe (59): list-directed I/O syntax error, unit -5, file Internal List-Directed Read
Image PC Routine Line Source
Stack trace terminated abnormally.
.......make: *** [tests] Error 59
What could be the error?
I am using Intel fortran 15.0.3
Compiling with: F90=ifort F90_VENDOR=Intel make tests
I got pFUnit from git repository
Thank you very much for your help,
Hector
Hello Hector,
I have a few guesses as to the problem, but in the likely case that it turns out to be something else, please let me kno which OS you are building this with. Always best if I can replicate the problem.
The problem could turn out to be with an obscure (rarely used) aspect of the framework, so you might want to go ahead and do the installation step and try building/running the examples.
Suspects:
1) Recently I introduced some quick-and-dirty hacks for a compiler bug encountered in intel 16. It is possible that the workaround breaks your particular version of the intel compiler. (I should be able to try 15.0.3 under Linux in the morning.) I botched several versions of that fix, so you should verify that you have pFUnit 3.2.5 and not any of the other 3.2.x's.
2) We have seen some instability in the RobustRunner on some Linux systems, but have not been able to replicate it on our server. That aspect is not essential as the newer "-d" command line option when running tests (but not the self tests unfortunately) serves much the same purpose. (Though not nearly as elegant.)
3) Did you have a build that failed and then you started over? Some of the self tests can leave a temporary data file laying around if the self tests crash. I'd expect a different error message, but that would at least tie things to I/O which the framework otherwise does very little of.
4) Are you by any chance using a very deep directory structure to build/run pFUnit? To support the older compilers there are some hardwired string lengths that you could exceed. But it would have to be pretty extreme.
Again - please let me know a few more details about your computing environment so that I can help resolve this.
Cheers,
Hi Tom,
Thanks for you prompt reply!
I'm using Linux (CentOS).
I also tried pFUnit 3.2.5 from the tar.gz file. I got the same result.
Before build pFUnit I erase the previous build folder in order to avoid problems with previous builds.
The full directory I'm using is 23 character long.
Thansk for your help,
Hector
Hi Hector,
I just built the latest pFUnit on our SUSE linux system with ifort 15.0.3. Another person in my group has RHE on his desktop, which he says is very similar to CENTOS. (I generally cringe if the flavor of linux matters to my own work.) Unfortunately he never saw the message you are getting either. (However, we have seen one of the tests report a failure due to some odd behavior of the "sleep" command on his system, but that is for the "robust" feature which is not recommended anyway.)
Another thought is that it might depend on which shell you are using? (Hope not!) If you are not using bash, could you try again with that?
Failing that, the next thing to do, if you have the patience is to sprinkle some print statements inside of ./tests/selfTests.F90. Those will allow us to know whether it is failing during setup or during the execution of the tests. If it is the latter, then you would need to start commenting out the various macro invocations (e.g., ADD(exceptionSuite)). Once I have more of a clue about where it is failing, I can probably generate better theories about what is making your experience "less boring" than we would both prefer.
Cheers,
I should also have suggested running the tests in a debugger. You clearly have the executable ./tests/tests.x generated, so running in a debugger might give a more useful location in the code.
Hi Tom,
I'm using bash.
Here is the last part of GDB just before the problem. It seems it stops at Test_StringConversionUtilities.F90:44.
testsuite_mod::copy (this=0x7fffffffb420, b=...) at TestSuite.F90:86
86 allocate(this%tests(n))
(gdb)
87 do i = 1, n
(gdb)
91 end subroutine copy
(gdb)
test_stringconversionutilities_mod::suite (suite=...) at Test_StringConversionUtilities.F90:44
44 & newTestMethod('testToStringInteger1D', &
(gdb)
.......
forrtl: severe (59): list-directed I/O syntax error, unit -5, file Internal List-Directed Read
Image PC Routine Line Source
Stack trace terminated abnormally.
Attacher you will find the complete output.
Thank you for your help,
Hector