radical-cybertools / radical.pilot

RADICAL-Pilot
http://radical-cybertools.github.io/radical-pilot/index.html
Other
54 stars 23 forks source link

Issue with creating Bridges (NoDB) #3055

Closed mtitov closed 11 months ago

mtitov commented 11 months ago

When the resource is shared, then there is a conflict among users

(ve_workflow) [matitov@login2.summit re.session.login2.matitov.019636.0004]$ cat control_pubsub.err
Traceback (most recent call last):
  File "/gpfs/alpine/geo111/world-shared/exaam/summit/ve_workflow/bin/radical-pilot-bridge", line 174, in <module>
    ru.daemonize(main=main, args=[sid, reg_addr, uid],
  File "/gpfs/alpine/geo111/world-shared/exaam/summit/ve_workflow/lib/python3.8/site-packages/radical/utils/daemon.py", line 114, in daemonize
    else           : main(*args)
  File "/gpfs/alpine/geo111/world-shared/exaam/summit/ve_workflow/bin/radical-pilot-bridge", line 89, in main
    wrapped_main(sid, reg_addr, uid, log, prof)
  File "/gpfs/alpine/geo111/world-shared/exaam/summit/ve_workflow/bin/radical-pilot-bridge", line 100, in wrapped_main
    sys.stdout = ru.ru_open('/tmp/%s.out' % uid, 'w')
  File "/gpfs/alpine/geo111/world-shared/exaam/summit/ve_workflow/lib/python3.8/site-packages/radical/utils/misc.py", line 946, in ru_open
    return open(*args, **kwargs)
PermissionError: [Errno 13] Permission denied: '/tmp/control_pubsub.out'

(ve_workflow) [matitov@login2.summit re.session.login2.matitov.019636.0004]$ touch /tmp/control_pubsub.out
touch: cannot touch '/tmp/control_pubsub.out': Permission denied

(ve_workflow) [matitov@login2.summit re.session.login2.matitov.019636.0004]$ ll /tmp/control_pubsub.out
-rw-rw-r-- 1 arupcseuva arupcseuva 0 Oct  2 22:54 /tmp/control_pubsub.out
andre-merzky commented 11 months ago

Oh, that's a great catch we urgently need a fix for! /tmp is the default workdir indeed. I guess the canonical fix is to use the uid in the file path, either as subdir or as part of the file name.

mtitov commented 11 months ago

@andre-merzky or use tempfile.mkstemp? (just a suggestion, not sure which is more safe)