Location of cylc-run not set in workflow?

hi there,

i’m working on a workflow with a colleague who is not getting this error so i am assuming it’s something that is somehow hard-wired to their $HOME?

the task in question is trying to write to /cylc-run rather than $HOME/cylc-run and is hence failing.

how could i test for how this is being set incorrectly in this task?

strangely it is working for other tasks of mine in the same workflow!

thanks for any ideas!

jonny

It depends what you mean. Is the job producing output (i.e. is it managing to write to job.out / job.err)? If so the problem is happening within the job script. Try running the workflow with the --debug option - this will enable the bash xtrace option which should help you see what going on.

If the job isn’t producing any output then that probably implies a problem with the job submission. The job output files are specified as relative paths and assume the job is submitted from your $HOME directory. Make sure there is nothing in profile scripts which could change this (bash -l should put you in $HOME).

1 Like

@jonnyhtw - to expand a bit on what @dpmatthews said, do you mean:

  • the user-defined code in that task is trying to write there?
  • or Cylc is trying to write the job log files there?
  • or Cylc is trying to create the run directory there during “job init”?
1 Like

thanks @dpmatthews @hilary.j.oliver!

this is the workflow graph for what’s going on. the error is in set_unicicles

this is the error message that i am getting in the job.err

[FAIL] [Errno 13] Permission denied: '/cylc-run'
InputError: Workflow ID not found: u-da879/run5
(Directory not found: /cylc-run/u-da879/run5)

this works for a colleague who i am working on this workflow with so i am assuming that there is an environment variable set somewhere in their environment.

@dpmatthews i’ll try cylc trigger with the --debug option as you suggest. thanks!

jonny

@jonnyhtw,

That’s coming from the running task job.

I’m guessing that somewhere in the task definition, or in a script that it runs, $HOME is being unset, or set to an undefined or empty variable.

I can’t imagine why, but the symptom kinda points in that direction!

1 Like

hi again,

just to update y’all, this is working now. this was the offending line in one of the ‘site’ optional config files, which is processed to make the flow-processed.cylc file…

init-script = "export HOME=$DATADIR"

i hadn’t come across init scripts before so i’ve learnt something!

cheers