I'm developing a threaded application in Fortran and OpenMP and using the intel ifort compiler. Some runs of my code end up in an error message of the type below. This also happens when only one thread is used.
Could anyone please explain me what this error means?
This is an internal error reported from the OpenMP run-time library. It means that the "monitor" thread was notavailableto do a POSIX thread "join" operation when the run-time library is being shut down. The most common problem that causes this is fork()/exec() code, which copies the library data structures, but not the actual POSIX threads. Since these functions are rarely used in Fortran code, it may not be the cause of the internal error.
If you are not using fork()/exec(), then the best think to do would be to submit a bug report which includes a test case that reproduces the problem to the Intel Premier Support web site. Without a test case, it may be nearly impossible for support engineers to reproduce the problem.
Please let me know if you have any further questions.
I'm not using fork/exec. I'll try to reproduce the problem on a smaller code since what I have now is quite complicated and submit a bug report.
Thanks for helping.
Just a little update on this topic. I found out that the problem only happens when launching the job on a cluster through pbs and when the job does not have exclusive access to the node that has been allocated to it. On the contrary, if the job has exclusive access, no problems at all. I'll check with the sysadmin and eventually add more useful info to this discussion.
Did you find out anything more about this problem after talking to the sysadmin? It sounds to me like it may be some buggy interaction between the PBS system and POSIX threads, but I could be mistaken. Please let me know if you have any more info.