This branch is trying to fix the file descriptors issue (which was commented on early this week for 4.1.11).
Changes:
-
Added platform.closeconnection() call in paramikoplatform.reset(). ( I think ) This is another reason for what could have happened with 4.1.11 alongside the terminate_child function that is not called anymore. This forces the close of every socket that the platform has before making a new connection (which was already being called at the end of autosubmit run )
-
Added platform.closeconnection() call before exiting the child process.
-
Added _exit(0) to the child process seems to be the UNIX way of doing it.
-
Registered platform.closeconnection() to be called atexit.
I checked the FD with the log.fd_show.fd_table_status_str() function can't detect an anomaly. ( Just add it whenever you feel it convenient to test it, it is also available in 4.1.11 )
After calling this function, I saw that two FDs were removed.
It seems that the pipeline is working after these changes. Not anymore failed on a new proc, will check on Monday ( day off tomorrow). Edit: And it worked again on the next rerun without touching anything else.
Target branch: 4.1.12-dev-branch