OSError: no space left on device still having issue

I am a little confused as I have exactely the same issue then the last solved one previously (please see this link (No Space Left on Device for qiime feature-classifier ) with the feature classifier. i changed the tmp directory with TEMPDIR=/some/directory but I still have have the same problème.
Any suggestion on how you solved this problème will be appreciated


Hi @biotama - what command are you running to change your temporary directory? The snippet you provided above has a minor typo, the environment variable name is TMPDIR, not TEMPDIR, so that is probably what is going on here. If tweaking the variable name like I suggest here doesn’t help, please provide all of the commands you are running, including your feature classifier command, and the command for setting the environment variable. Thanks! :t_rex:

Hi, oh sorry for the mistake in the command, here is the commands i run:

ls /data
[email protected]:~$ export TMPDIR=/data
[email protected]:~$ echo $TMPDIR
[email protected]:~$ source activate qiime2-2017.12
(qiime2-2017.12) [email protected]:~$ cd qiime2-final
(qiime2-2017.12) [email protected]:~/qiime2-final$ qiime feature-classifier classify-sklearn   --i-classifier silva-119-99-515-806-nb-classifier.qza   --i-reads rep-seqs.qza   --o-classification taxonomy.qza

I just wanted to add that in my case this issue happened only on linux machine, I tried to run the command on Mac OS and it seems Work but it take all the memory (I have just 4go) leading to a big bug, so I can’t do anything…

Is this environment activation resetting your TMPDIR variable? What does echo $TMPDIR return after you activate your conda env?

It returns the same place /data after or before activating conda env

Well, it sounds like you are running out of disk space :frowning: :floppy_disk: :minidisc::cd::computer: What does df -h have to tell you about the /data path? If that isn’t a separate mount it will be listed under the “mounted on” entry for /.

Can you also please provide the exact error you are receiving? Copy and paste please. Thanks!

I don’t know if this correct… I run the df -h and it returns this list below

[email protected]:/data$  df -h 
Filesystem      Size  Used Avail Use% Mounted on
udev             32G     0   32G   0% /dev
tmpfs           6.3G  658M  5.7G  11% /run
/dev/sdc3        19G   14G  3.5G  80% /
tmpfs            32G  4.3M   32G   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs            32G     0   32G   0% /sys/fs/cgroup
/dev/sda2        96M   63M   34M  66% /boot/efi
/dev/sdc5       2.2T  2.0T  155G  93% /home
tmpfs           6.3G   96K  6.3G   1% /run/user/1000
/dev/sda4       918G  640G  279G  70% /media/skynet/Nouveau nom
/dev/sdc2       451G  291G  160G  65% /media/skynet/Nouveau nom1
/dev/sde2       932G  158G  774G  17% /media/skynet/PhilLebel

And here is the complete error

(qiime2-2017.12) [email protected]:~/qiime2-final$ qiime feature-classifier classify-sklearn   --i-classifier silva-119-99-515-806-nb-classifier.qza   --i-reads rep-seqs.qza   --o-classification taxonomy.qza   --p-n-jobs 1
Traceback (most recent call last):
  File "/home/skynet/miniconda3/envs/qiime2-2017.12/bin/qiime", line 11, in <module>
  File "/home/skynet/miniconda3/envs/qiime2-2017.12/lib/python3.5/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/home/skynet/miniconda3/envs/qiime2-2017.12/lib/python3.5/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/home/skynet/miniconda3/envs/qiime2-2017.12/lib/python3.5/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/skynet/miniconda3/envs/qiime2-2017.12/lib/python3.5/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/skynet/miniconda3/envs/qiime2-2017.12/lib/python3.5/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/skynet/miniconda3/envs/qiime2-2017.12/lib/python3.5/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/home/skynet/miniconda3/envs/qiime2-2017.12/lib/python3.5/site-packages/q2cli/commands.py", line 191, in __call__
    arguments, missing_in, verbose, quiet = self.handle_in_params(kwargs)
  File "/home/skynet/miniconda3/envs/qiime2-2017.12/lib/python3.5/site-packages/q2cli/commands.py", line 263, in handle_in_params
    kwargs, fallback=cmd_fallback
  File "/home/skynet/miniconda3/envs/qiime2-2017.12/lib/python3.5/site-packages/q2cli/handlers.py", line 375, in get_value
    return qiime2.Artifact.load(path)
  File "/home/skynet/miniconda3/envs/qiime2-2017.12/lib/python3.5/site-packages/qiime2/sdk/result.py", line 64, in load
    archiver = archive.Archiver.load(filepath)
  File "/home/skynet/miniconda3/envs/qiime2-2017.12/lib/python3.5/site-packages/qiime2/core/archive/archiver.py", line 297, in load
    rec = archive.mount(path)
  File "/home/skynet/miniconda3/envs/qiime2-2017.12/lib/python3.5/site-packages/qiime2/core/archive/archiver.py", line 198, in mount
    root = self.extract(filepath)
  File "/home/skynet/miniconda3/envs/qiime2-2017.12/lib/python3.5/site-packages/qiime2/core/archive/archiver.py", line 209, in extract
    zf.extract(name, path=str(filepath))
  File "/home/skynet/miniconda3/envs/qiime2-2017.12/lib/python3.5/zipfile.py", line 1335, in extract
    return self._extract_member(member, path, pwd)
  File "/home/skynet/miniconda3/envs/qiime2-2017.12/lib/python3.5/zipfile.py", line 1399, in _extract_member
    shutil.copyfileobj(source, target)
  File "/home/skynet/miniconda3/envs/qiime2-2017.12/lib/python3.5/shutil.py", line 82, in copyfileobj
OSError: [Errno 28] No space left on device
(qiime2-2017.12) [email protected]:~/qiime2-final$ 

My apologies for taking you busy with this…

No worries @biotama!

Thanks for all the extra info, that was super useful! So, looking at your df results, you only have 3.5G of space available for /data, it is entirely possible that you are fully exhausting that tiny bit of space when running feature-classifier.

It does look like your home directory has plenty of space (155G free), how about setting TMPDIR to /home/skynet/tmp? You would need to make that directory first, and of course you could stash that somewhere else more appropriate to your home directory layout. Please give that a shot and let us know how it goes! :t_rex:

Hi, now it works!!! thanks thermokarst! it takes one CPU, is there any option to add more than one?


There is a parameter (n-jobs) that controls this, check out the docs to learn more! :t_rex:

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.