#860: Don't rmtree(scratchdir) ----------------------------+----------------------------------------------- Reporter: barry.wardell | Owner: eschnett Type: defect | Status: review Priority: blocker | Milestone: Component: SimFactory | Version: Resolution: | Keywords: ----------------------------+-----------------------------------------------
Comment (by barry.wardell):
I have tested that this patch would have caught and prevented the problem in my case. I suggest applying the patch along with the attached patch which makes scratchdir an optional entry in the mdb. We will also need to do an audit of the mdb. There are many machines which have:
scratchdir = scratchdir
which is no longer valid as it must be an absolute path. For these machines, the entry should just be removed. There are also other machines with dodgy looking values, such as:
damiana.ini:54:scratchdir = /tmp/${USER}/${JOB_ID} forge: scratchdir = /tmp # what is this for? /scratch/batch/users/${USER}/${PBS_JOBID} mars: scratchdir = /no/scratchdir scinet: scratchdir = /no/scratchdir shc: scratchdir = /scratch supermuc: scratchdir = /scratch/pr32pi/${USER}/${JOB_ID}
Another separate potential problem I have just noticed is that the scratchdir is created at submit time, not run time. As a result, the directory is created on the head node, not on the compute nodes. It also means that variables such as ${PBS_JOBID} are probably not defined and so scratchdir gets set to something unexpected such as /tmp/${USER} instead of /tmp/${USER}/${PBS_JOBID}.