Error from feature-classifier: [Errno 28] No space left on device

Hello,

I’m having the same problems listed in this thread and this thread while trying to use the feature-classifier fit-classifier-naive-bayes command after training SILVA132 on my primers. Despite setting my TMPDIR to a path that has plenty of space (over 700GB; it also spits out the correct directory after running the “env” command), and running the code on a machine with 125GB of memory (although it doesn’t seem to be a memory issue), I still get an error. I’m running qiime2-2019.1 in a conda environment on linux.

Command is as follows:

export TMPDIR=/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca
echo $TMPDIR
/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca

qiime feature-classifier fit-classifier-naive-bayes \
--i-reference-reads ref-seqs-silva-132_16S.qza \
--i-reference-taxonomy 7_level_taxonomy.qza \
--p-classify--chunk-size 1000 \
--o-classifier 16S_silva-132_classifier.qza \
--verbose

I’ve also tried without the chunk-size line, and with chunk-size of 10; same error.

Behold the error:

/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/q2_feature_classifier/classifier.py:101: UserWarning: The TaxonomicClassifier artifact that results from this method was trained using scikit-learn version 0.20.2. It cannot be used with other versions of scikit-learn. (While the classifier may complete successfully, the results will be unreliable.)

warnings.warn(warning, UserWarning)

Traceback (most recent call last):

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/q2cli/commands.py", line 274, in __call__

results = action(**arguments)

File "</mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/decorator.py:decorator-gen-340>", line 2, in fit_classifier_naive_bayes

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/qiime2/sdk/action.py", line 231, in bound_callable

output_types, provenance)

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/qiime2/sdk/action.py", line 393, in _callable_executor_

spec.qiime_type, output_view, spec.view_type, prov)

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/qiime2/sdk/result.py", line 265, in _from_view

result = transformation(view)

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/qiime2/core/transform.py", line 70, in transformation

new_view = transformer(view)

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/q2_feature_classifier/_taxonomic_classifier.py", line 85, in _2

for fn in joblib.dump(data, pf):

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/sklearn/externals/joblib/numpy_pickle.py", line 502, in dump

NumpyPickler(f, protocol=protocol).dump(value)

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 409, in dump

self.save(obj)

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/sklearn/externals/joblib/numpy_pickle.py", line 292, in save

return Pickler.save(self, obj)

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 521, in save

self.save_reduce(obj=obj, *rv)

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 634, in save_reduce

save(state)

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/sklearn/externals/joblib/numpy_pickle.py", line 292, in save

return Pickler.save(self, obj)

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 476, in save

f(self, obj) # Call unbound method with explicit self

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 821, in save_dict

self._batch_setitems(obj.items())

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 847, in _batch_setitems

save(v)

  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/sklearn/externals/joblib/numpy_pickle.py", line 292, in save

return Pickler.save(self, obj)

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 476, in save

f(self, obj) # Call unbound method with explicit self

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 781, in save_list

self._batch_appends(obj)

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 805, in _batch_appends

save(x)

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/sklearn/externals/joblib/numpy_pickle.py", line 292, in save

return Pickler.save(self, obj)

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 476, in save

f(self, obj) # Call unbound method with explicit self

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 781, in save_list

self._batch_appends(obj)

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 805, in _batch_appends

save(x)

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/sklearn/externals/joblib/numpy_pickle.py", line 292, in save

return Pickler.save(self, obj)

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 521, in save

self.save_reduce(obj=obj, *rv)

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 634, in save_reduce

save(state)

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/sklearn/externals/joblib/numpy_pickle.py", line 292, in save

return Pickler.save(self, obj)

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 476, in save

f(self, obj) # Call unbound method with explicit self

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 821, in save_dict

self._batch_setitems(obj.items())

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 847, in _batch_setitems

save(v)

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/sklearn/externals/joblib/numpy_pickle.py", line 289, in save

wrapper.write_array(obj, self)

File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/sklearn/externals/joblib/numpy_pickle.py", line 104, in write_array

pickler.file_handle.write(chunk.tostring('C'))

OSError: [Errno 28] No space left on device

Plugin error from feature-classifier:

[Errno 28] No space left on device

See above for debug info

Let me know of anything else I can provide to make the issue more clear, if need be. Thank you!

Hmm, well, you appear to be running out of disk space somewhere.... How about you run df -h and share those results with us. That command will tell us a bit more about your filesystems and disk partitions. :qiime2:

Thanks, @thermokarst

Output:

Filesystem      Size  Used Avail Use% Mounted on

udev             63G     0   63G   0% /dev

tmpfs            13G  9.9M   13G   1% /run

/dev/sda2        28G   19G  7.2G  73% /

tmpfs            63G  1.8M   63G   1% /dev/shm

tmpfs           5.0M  4.0K  5.0M   1% /run/lock

tmpfs            63G     0   63G   0% /sys/fs/cgroup

/dev/sda1       511M  3.5M  508M   1% /boot/efi

/dev/sda4        80G   54G   22G  72% /home

/dev/sdb1       3.6T  1.7T  1.8T  48% /mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1

cgmfs           100K     0  100K   0% /run/cgmanager/fs

tmpfs            13G   36K   13G   1% /run/user/1000

Hello there,

Thanks for posting that. OK, let's compare the drive in the error with the space left on the drives:

Error:
File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca
Drives:
/dev/sdb1 3.6T 1.7T 1.8T 48% /mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1

Wait... that drive is only 48% full, with 1.8T of space left?? :bangbang: How strange?

Colin

I think this path is a red-herring, it is where the python code lives, but QIIME 2 will still try to use $TMPDIR which unless otherwise set, will be under /, which according to the table above:

Has only 7.2G available, which is consistent with the error.

If you were to set $TMPDIR to another location, you would probably not run into this issue. Somewhere on /mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1 would likely work well.

EDIT: Sorry, I can't read >_<

New idea:

Does setting this variable the same as TMPDIR help?

export JOBLIB_TEMP_FOLDER=/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca

Apparently /dev/shm is used by joblib (used by sklearn).

Hi,

I succeded to resolve this problem by making my TEMDIR in the Home directory (as you did) and run all commands of feature classifier from the Home directory.

1-Make a TMPDIR in a Home directory

2-Change the path directory of qiime into Home dir

3-Run your classifier commands( do not forget to adjust paths for your input and output files)

Wishing this option will help you

Thanks all for your help on this!

Unfortunately, it didn't. I still get the same exact error.

More-detailed commands (including qiime2 paths, etc):

fgplab@FGPGodzila ~ $ source activate /mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2
(/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2) fgplab@FGPGodzila ~ $ cd '/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/Mr. DNA Seq Run (II)/16S/16S_silva-132_train'
(/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2) fgplab@FGPGodzila /mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/Mr. DNA Seq Run (II)/16S/16S_silva-132_train $ export tmpdir=*'/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca'
(/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2) fgplab@FGPGodzila /mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/Mr. DNA Seq Run (II)/16S/16S_silva-132_train $ export JOBLIB_TEMP_FOLDER=/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca
(/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2) fgplab@FGPGodzila /mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/Mr. DNA Seq Run (II)/16S/16S_silva-132_train $ env

"env" output:

XDG_VTNR=7
MANPATH=/home/fgplab/perl5/perlbrew/perls/perl-5.20.1/man:$MANPATH:/usr/local/share/man
PERLBREW_VERSION=0.80
SSH_AGENT_PID=1941
XDG_SESSION_ID=c2
JAVA_LD_LIBRARY_PATH=/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/server
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/fgplab
QT_STYLE_OVERRIDE=gtk
PERLBREW_PERL=perl-5.20.1
GPG_AGENT_INFO=/home/fgplab/.gnupg/S.gpg-agent:0:1
TERM=xterm-256color
SHELL=/bin/bash
VTE_VERSION=4205
PYTHONNOUSERSITE=/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python*/site-packages/
tmpdir=*/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca
CONDA_SHLVL=1
QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1
CONDA_PROMPT_MODIFIER=(/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2) 
GJS_DEBUG_OUTPUT=stderr
WINDOWID=113246214
OLDPWD=/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca
GJS_DEBUG_TOPICS=JS ERROR;JS LOG
GTK_MODULES=gail:atk-bridge
ARBHOME=/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/arb
USER=fgplab
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
QT_ACCESSIBILITY=1
CONDA_EXE=/home/fgplab/miniconda3/bin/conda
PERLBREW_BASHRC_VERSION=0.80
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
SESSION_MANAGER=local/FGPGodzila:@/tmp/.ICE-unix/1852,unix/FGPGodzila:/tmp/.ICE-unix/1852
DEFAULTS_PATH=/usr/share/gconf/cinnamon.default.path
PERLBREW_ROOT=/home/fgplab/perl5/perlbrew
SSUALIGNDIR=/usr/local/share/ssu-align-0.1.1
XDG_CONFIG_DIRS=/etc/xdg/xdg-cinnamon:/etc/xdg
ARBHOME_BACKUP=
PATH=/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/bin:/home/fgplab/miniconda3/condabin:/home/fgplab/perl5/perlbrew/bin:/home/fgplab/perl5/perlbrew/perls/perl-5.20.1/bin:/home/fgplab/bioinformatics/bowtie2:/home/fgplab/bioinformatics/:/home/fgplab/miniconda3/bin:/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin
DESKTOP_SESSION=cinnamon
QT_QPA_PLATFORMTHEME=qgnomeplatform
CONDA_PREFIX=/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2
XDG_SESSION_TYPE=x11
PWD=/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/Mr. DNA Seq Run (II)/16S/16S_silva-132_train
JAVA_HOME=/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2
MPLBACKEND=Agg
LANG=en_US.UTF-8
GDM_LANG=en_US
MANDATORY_PATH=/usr/share/gconf/cinnamon.mandatory.path
PERLBREW_HOME=/home/fgplab/.perlbrew
GDMSESSION=cinnamon
CINNAMON_VERSION=3.4.6
XDG_SEAT=seat0
HOME=/home/fgplab
SHLVL=1
LANGUAGE=en_US
PERLBREW_MANPATH=/home/fgplab/perl5/perlbrew/perls/perl-5.20.1/man
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
GTK_OVERLAY_SCROLLING=1
CONDA_PYTHON_EXE=/home/fgplab/miniconda3/bin/python
PERLBREW_PATH=/home/fgplab/perl5/perlbrew/bin:/home/fgplab/perl5/perlbrew/perls/perl-5.20.1/bin
XDG_SESSION_DESKTOP=cinnamon
LOGNAME=fgplab
XDG_DATA_DIRS=/usr/share/cinnamon:/usr/share/gnome:/usr/local/share/:/usr/share/
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-6BUmfZk0G2,guid=2065f48e67927ce4e07c52875c883f72
JAVA_HOME_CONDA_BACKUP=
CONDA_DEFAULT_ENV=/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2
LESSOPEN=| /usr/bin/lesspipe %s
XDG_RUNTIME_DIR=/run/user/1000
DISPLAY=:0
JAVA_LD_LIBRARY_PATH_BACKUP=
XDG_CURRENT_DESKTOP=X-Cinnamon
R_LIBS_USER=/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/R/library/
LESSCLOSE=/usr/bin/lesspipe %s %s
JOBLIB_TEMP_FOLDER=/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca
XAUTHORITY=/home/fgplab/.Xauthority
_=/usr/bin/env

Note there are some lines that point to other paths, which as shown in my reply above from df -h have pretty low space. Perhaps some of them may be the culprit?

Feature-classifer command and output error:

(/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2) fgplab@FGPGodzila /mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/Mr. DNA Seq Run (II)/16S/16S_silva-132_train $ qiime feature-classifier fit-classifier-naive-bayes \
>   --i-reference-reads ref-seqs-silva-132_16S.qza \
>   --i-reference-taxonomy 7_level_taxonomy.qza \
>   --o-classifier 16S_silva-132_classifier.qza \
>   --verbose
/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/q2_feature_classifier/classifier.py:101: UserWarning: The TaxonomicClassifier artifact that results from this method was trained using scikit-learn version 0.20.2. It cannot be used with other versions of scikit-learn. (While the classifier may complete successfully, the results will be unreliable.)
  warnings.warn(warning, UserWarning)
Traceback (most recent call last):
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/q2cli/commands.py", line 274, in __call__
    results = action(**arguments)
  File "</mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/decorator.py:decorator-gen-340>", line 2, in fit_classifier_naive_bayes
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/qiime2/sdk/action.py", line 231, in bound_callable
    output_types, provenance)
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/qiime2/sdk/action.py", line 393, in _callable_executor_
    spec.qiime_type, output_view, spec.view_type, prov)
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/qiime2/sdk/result.py", line 265, in _from_view
    result = transformation(view)
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/qiime2/core/transform.py", line 70, in transformation
    new_view = transformer(view)
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/q2_feature_classifier/_taxonomic_classifier.py", line 85, in _2
    for fn in joblib.dump(data, pf):
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/sklearn/externals/joblib/numpy_pickle.py", line 502, in dump
    NumpyPickler(f, protocol=protocol).dump(value)
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 409, in dump
    self.save(obj)
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/sklearn/externals/joblib/numpy_pickle.py", line 292, in save
    return Pickler.save(self, obj)
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 521, in save
    self.save_reduce(obj=obj, *rv)
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 634, in save_reduce
    save(state)
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/sklearn/externals/joblib/numpy_pickle.py", line 292, in save
    return Pickler.save(self, obj)
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 476, in save
    f(self, obj) # Call unbound method with explicit self
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 821, in save_dict
    self._batch_setitems(obj.items())
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 847, in _batch_setitems
    save(v)
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/sklearn/externals/joblib/numpy_pickle.py", line 292, in save
    return Pickler.save(self, obj)
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 476, in save
    f(self, obj) # Call unbound method with explicit self
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 781, in save_list
    self._batch_appends(obj)
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 805, in _batch_appends
    save(x)
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/sklearn/externals/joblib/numpy_pickle.py", line 292, in save
    return Pickler.save(self, obj)
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 476, in save
    f(self, obj) # Call unbound method with explicit self
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 781, in save_list
    self._batch_appends(obj)
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 805, in _batch_appends
    save(x)
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/sklearn/externals/joblib/numpy_pickle.py", line 292, in save
    return Pickler.save(self, obj)
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 521, in save
    self.save_reduce(obj=obj, *rv)
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 634, in save_reduce
    save(state)
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/sklearn/externals/joblib/numpy_pickle.py", line 292, in save
    return Pickler.save(self, obj)
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 476, in save
    f(self, obj) # Call unbound method with explicit self
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 821, in save_dict
    self._batch_setitems(obj.items())
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/pickle.py", line 847, in _batch_setitems
    save(v)
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/sklearn/externals/joblib/numpy_pickle.py", line 289, in save
    wrapper.write_array(obj, self)
  File "/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca/qiime2/lib/python3.6/site-packages/sklearn/externals/joblib/numpy_pickle.py", line 104, in write_array
    pickler.file_handle.write(chunk.tostring('C'))
OSError: [Errno 28] No space left on device

Plugin error from feature-classifier:

  [Errno 28] No space left on device

See above for debug info.


Thanks so much for the suggestion; unfortunately that's also how I've been running all of my commands. My conda environment, as well as all of my input and output files are in

/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca

Let me know if this is not what you meant.

Going to attempt running this in a different machine (with significantly less space and memory, however). Will report back. Note I've tried it in both of my institution's clusters (following same commands as above) and I get the same error.

Maybe try to run it directly from Home dir, as I see, you were in something like 16S_silva-132_train file when running feature classifier right?

Hey there @BCruz!
It looks like you have a few typos in your post above. Specifically, you have spelled out tmpdir, instead of TMPDIR --- case matters here. Second, there is glob char at the start of that string --- not sure if that is actually a problem or not, but worth removing either way.

export TMPDIR='/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca'
export JOBLIB_TEMP_FOLDER='/mnt/e5514ac8-93d5-4c49-a344-0a016f364cf1/Bianca'

Hope that helps! :t_rex: :qiime2: