dkoslicki / MetaPalette

Metagenomic profiling and phylogenetic distances via common kmers
Other
42 stars 5 forks source link

Error on "train" #1

Closed kyclark closed 8 years ago

kyclark commented 8 years ago

While running the "train" command, I get several core dumps and then it just hangs for quite a while:

docker run --rm --privileged -e "DCKR_THREADS=10" -e "RAM_DISK_SIZE=10G" -v /usr/local/imicrobe/MetaPalette/Tests/Data:/dckr/mnt/input:ro -v /usr/local/imicrobe/MetaPalette/Tests/TestOutput:/dckr/mnt/output:rw -t dkoslicki/metapalette train
Warning: 2*chunk_size (200)*num_threads (10) is greater than or equal to 1024 (the typical value of ulimit -n, the maximum number of allowed open files). Please change the ulimit -Hn, reduce the chunk_size (-s), or reduce the num_threads (-t) or risk the program throwing an error.
Warning: chunk_size (200) is greater than number of files (5). Reducing chunk size.
Illegal instruction (core dumped)
Exception in thread Thread-12:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 763, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib/python2.7/multiprocessing/pool.py", line 380, in _handle_results
    task = get()
TypeError: ('__init__() takes at least 3 arguments (1 given)', <class 'subprocess.CalledProcessError'>, ())

Illegal instruction (core dumped)
Illegal instruction (core dumped)
Illegal instruction (core dumped)
Illegal instruction (core dumped)
^C
dkoslicki commented 8 years ago

This appears to be an issue with Bcalm. The bcalm code is compiled with a flag -march=native and so it appears to give an Illegal instruction on any architecture different than the one I build the Docker image on.

Until I get a more permanent fix, you can fix this by building the Docker from the Dockerfile (instead of pulling from Docker Hub):

cd Metapalette/Docker
docker build -t dkoslicki/metapalette .

Just make sure to remove the old image first.

I've tested this on another system that produced the same error, and this appears to fix it. Let me know if it works for you.

dkoslicki commented 8 years ago

I have now pushed an updated image to Docker Hub with the fix. A simple docker pull dkoslicki/metapalette should fix your issue now.

kyclark commented 8 years ago

No more errors. Here is my output:

docker run --rm --privileged -e "DCKR_THREADS=10" -e "RAM_DISK_SIZE=10G" -v /usr/local/imicrobe/MetaPalette/Tests/Data:/dckr/mnt/input:ro -v /usr/local/imicrobe/MetaPalette/Tests/TestOutput:/dckr/mnt/output:rw -t dkoslicki/metapalette train
Warning: 2*chunk_size (200)*num_threads (10) is greater than or equal to 1024 (the typical value of ulimit -n, the maximum number of allowed open files). Please change the ulimit -Hn, reduce the chunk_size (-s), or reduce the num_threads (-t) or risk the program throwing an error.
Warning: chunk_size (200) is greater than number of files (5). Reducing chunk size.
tmpfs has been unmounted
Be sure to create an acceptable taxonomy. See https://github.com/dkoslicki/MetaPalette for more information

So, all good now?

dkoslicki commented 8 years ago

Yup, you're good!