2

I am running smrtanalysis software which is very demanding in terms of cpu, RAM and storage. After running for couple of hours, I got following error message:

IOError: [Errno 13] Permission denied: '/afs/bx.psu.edu/user/s/szr/smrtanalysis/tmpdir/tmpqNMh9s'

However, when I check the files, it seems that permissions are set OK (I am starting program as biomonika):

[biomonika@brubeck tmpdir]$ ls -l tmpqNMh9s
-rw-------  1 biomonika biomonika  639 Feb  6 01:13 tmpqNMh9s

Actually, tmpdir is full of similarly named folders and files created at very similar times. At the time of error, there were only 131 GB of free space left.

I am wondering if "Permission denied" can mean something other than actually incorrectly set permissions, e.g. running out of space. However, the disk is "afs" which I don't have experience with - I am experienced only with use of chmod, hence the question.

  • 1
    It doesn't say what caused the "permission denied", if it was a unlink or rename on that file, then that's the write permissions of the directory (/afs/bx.psu.edu/user/s/szr/smrtanalysis/tmpdir) that matter. – Stéphane Chazelas Feb 6 '14 at 16:26
  • @StephaneChazelas are there setups where you might also need write access to the parent directories? – terdon Feb 6 '14 at 16:56
  • well, parent directory seems fine drwxrwxrwt 7 szr szr 16K Feb 6 12:11 tmpdir, but I don't know if this means something on afs system. – Perlnika Feb 6 '14 at 17:20
  • 1
    According to cs.cmu.edu/~help/afs/afs_troubleshooting.html "The most common reason for "permission denied" errors is that one's AFS tokens have expired." At your site, how many hours do they last? – Mark Plotnick Feb 6 '14 at 18:43
  • It is possible but not likely. Running out of inodes will cause a permission denied message. – Jeight Feb 6 '14 at 18:54
1

For the most part, AFS does not pay attention to "chmod" permissions. In order to see what rights you have on the directory, run fs getcalleraccess <dir>, like so:

$ fs getcalleraccess .
Callers access to . is rlidwka

The letters "rlidwka" are access rights in AFS. An explanation to what each of those rights mean can be found in the fs_listacl(1) man page. You're probably expecting to have at least "rlidwk" rights on that directory. You can also see what ACLs are set on the dir by running fs la <dir>, but that may not be helpful if you are not familiar with the relevant AFS setup.

Other possibilities are that your AFS credentials expired or are for some reason invalid. To see if this is the case, try looking in the syslog logs on your machine, and look for "afs". Depending on what platform this is on, those messages may be in /var/log/syslog, /var/log/messages, /var/adm/messages, /var/log/kern.log, or in the output of the dmesg command. If your AFS tokens became expired or are invalid, there should be a warning message in one of those.

If none of this explains the behavior, you could try straceing the process, to see what syscall fails (or a similar program; strace on Linux, truss on Solaris, possibly dtruss on Mac OS X). But that will generate a ton of output and will take a long time, if the process does a lot of processing and I/O.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.