screen.seq crashing in mothur 1.13

Hello,

I’m using mothur 1.13, compiled on a 64 bit, Ubuntu system. Running screen.seqs with mothur is causing mothur to crash with a segmentation fault. I have experienced this with my own data, and also with the Costello sample data with the command:

screen.seqs(fasta=stool.trim.unique.align, name=stool.trim.names, group=stool.groups, minlength=150, end=6333)

I saw another message in this forum about pre.cluster, which crashes when the name option is used, but not if it isn’t. Thus, I tried the following command (which may or may not make sense):

screen.seqs(fasta=stool.trim.unique.align, group=stool.groups, minlength=150, end=6333)

This also fails with a segmentation fault.

Thanks for all your work on this!

Bela

Hello,

Just an additional note to say that I just checked, and the command below, on the Costello sample data, failed for version 1.12 on my Ubuntu 10.04, 64-bit system also:

screen.seqs(fasta=stool.trim.unique.align, name=stool.trim.names, group=stool.groups, minlength=150, end=6333)

regards,

Bela

Can you copy and paste the mothur.logfile for this step and error into the forum?

Thanks,
Pat

Hello,

A copy of the log file is below. I noticed that the logfile says I’m running the 32 bit version. However, I compiled after altering the makefile to have the following line near the top:

Optimize to level 3:

CXXFLAGS += -O3 -mtune=native -march=native -m64

I left the 64BIT_VERSION set to “no”, as I believe this is only relevant to Mac architecture. Can you advise me on whether I have done something wrong here, and am likely to be running the 32 bit version? ( As opposed to the log file perhaps reporting incorrectly. I realise that an error on my part is rather more likely!)

Also, just to confirm, I was not running the program under MPI when the logfile below was generated, although I did compile with MPI enabled.

Logfile for (non-mpi) run of mothur on the Costello Data:

#########################
Linux version

Using ReadLine

Running 32Bit Version

mothur v.1.13.0
Last updated: 9/9/2010

by
Patrick D. Schloss

Department of Microbiology & Immunology
University of Michigan
pschloss@umich.edu
http://www.mothur.org

When using, please cite:
Schloss, P.D., et al., Introducing mothur: Open-source, platform-independent, community-supported software for describing and comparing microbial communities. Appl Environ Microbiol, 2009. 75(23):7537-41.

Distributed under the GNU General Public License

Type ‘help()’ for information on the commands that are available

Type ‘quit()’ to exit program
Using MPI version 2.2
Interactive Mode


mothur > screen.seqs(fasta=stool.trim.unique.align, name=stool.trim.names, group=stool.groups, minlength=150, end=6333)

Hi Bela,
I was able to reproduce your problem. It is not with the screen.seqs command, but with mothur’s function to complete filenames. Linux differs a bit from mac in this area and we didn’t pick up on it in testing. I posted the modified source to the wiki. Thanks for bringing the problem to our attention.
-Sarah

Hello,

Thanks for looking into this. Is the new source the code that can be downloaded from:

http://www.mothur.org/w/images/2/2b/Mothur.source.zip

(i.e. the link on the page: http://www.mothur.org/wiki/Download_mothur)

If so, bad news. I have downloaded and compiled it, and still get a segmentation fault when I run the command:

screen.seqs(fasta=stool.trim.unique.align, name=stool.trim.names, group=stool.groups, minlength=150, end=6333)

(Also, log file still says I’m using 32 bit version.)

regards,

Bela

Can you try a make clean and then make with USEMPI ?= no, and see if the error still occurs? The logfile will still say 32bit, since the 64bit compiler flag was not set.

Hello,

Compiling without mpi support worked. That is, I can run this command successfully:

screen.seqs(fasta=stool.trim.unique.align, name=stool.trim.names, group=stool.groups, minlength=150, end=6333)

Just to confirm, the last time I did this, I had compiled with mpi support, but ran mothur normally (i.e. not using mpi) when the screen.seqs command failed.


thanks,

Bela

Thanks for checking that for me. It appears we must have a bug in the mpi-enabled version for linux. I was not able to reproduce the error with the mpi enabled version for mac. Just a note for clarity, when you run the mpi-enabled version of mothur without using mpirun, it’s the equivalent of running mothur using mpirun with 1 processor. It executes the mpi code because that’s what was built into the executable.

Ah. Thanks for the clarification.

Do you think you’re likely to track down and fix the mpi problem for Linux in the near future? I ask because I package mothur for distribution on NEBC Bio-Linux, and currently the package contains the (broken) mpi-enabled version. All our documentation says that the software in the package is mpi-enabled. If a fix is likely to come along soon, I’ll wait for that rather than have to edit our files. However, if a fix is unlikely, then I’ll rebuild without mpi and change the documentation.

thanks,

Bela

Seems like I have the same bug: Also using 64bit MPI-enabled on Linux…