bioinfologics / satsuma2

FFT cross-correlation based synteny aligner, (re)designed to make full use of parallel computing
41 stars 13 forks source link

test_SatsumaSynteny2 segfaults #5

Closed arendsee closed 7 years ago

arendsee commented 7 years ago

I can successfully compile Satsuma2, but the test script, test_SatsumaSynteny2 crashes with the following message:

SATSUMA: Welcome to SatsumaSynteny! Current date and time: 2016/10/03 10:43:35
Path for Satsuma2: './bin'
Creating directory xcorr_sample_synt
Executing bin/SatsumaSynteny2
Setting up grid.
Preparing...
select=0        chunks=261
chunks: 261
select=0        chunks=245
chunks: 245
size x=11 y=11 size=121
Initializing multimatches...
Done.
SATSUMA: Acquiring seeds, date and time: 2016/10/03 10:43:35
Running seed pre-filter: 
  ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 11 xcorr_sample_synt/kmatch_results.k11 11 10 1; touch xcorr_sample_synt/kmatch_results.k11.finished
./bin/satsuma_run.sh: line 8: 18742 Segmentation fault      (core dumped) ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 11 xcorr_sample_synt/kmatch_results.k11 11 10 1
Running seed pre-filter: 
  ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 13 xcorr_sample_synt/kmatch_results.k13 13 12 1; touch xcorr_sample_synt/kmatch_results.k13.finished
./bin/satsuma_run.sh: line 8: 18750 Segmentation fault      (core dumped) ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 13 xcorr_sample_synt/kmatch_results.k13 13 12 1
Running seed pre-filter: 
  ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 15 xcorr_sample_synt/kmatch_results.k15 15 14 1; touch xcorr_sample_synt/kmatch_results.k15.finished
./bin/satsuma_run.sh: line 8: 18761 Segmentation fault      (core dumped) ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 15 xcorr_sample_synt/kmatch_results.k15 15 14 1
Running seed pre-filter: 
  ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 17 xcorr_sample_synt/kmatch_results.k17 17 16 1; touch xcorr_sample_synt/kmatch_results.k17.finished
./bin/satsuma_run.sh: line 8: 18774 Segmentation fault      (core dumped) ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 17 xcorr_sample_synt/kmatch_results.k17 17 16 1
Running seed pre-filter: 
  ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 19 xcorr_sample_synt/kmatch_results.k19 19 18 1; touch xcorr_sample_synt/kmatch_results.k19.finished
./bin/satsuma_run.sh: line 8: 18784 Segmentation fault      (core dumped) ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 19 xcorr_sample_synt/kmatch_results.k19 19 18 1
Running seed pre-filter: 
  ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 21 xcorr_sample_synt/kmatch_results.k21 21 20 1; touch xcorr_sample_synt/kmatch_results.k21.finished
./bin/satsuma_run.sh: line 8: 18794 Segmentation fault      (core dumped) ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 21 xcorr_sample_synt/kmatch_results.k21 21 20 1
Running seed pre-filter: 
  ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 23 xcorr_sample_synt/kmatch_results.k23 23 22 1; touch xcorr_sample_synt/kmatch_results.k23.finished
./bin/satsuma_run.sh: line 8: 18807 Segmentation fault      (core dumped) ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 23 xcorr_sample_synt/kmatch_results.k23 23 22 1
Running seed pre-filter: 
  ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 25 xcorr_sample_synt/kmatch_results.k25 25 24 1; touch xcorr_sample_synt/kmatch_results.k25.finished
./bin/satsuma_run.sh: line 8: 18818 Segmentation fault      (core dumped) ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 25 xcorr_sample_synt/kmatch_results.k25 25 24 1
Running seed pre-filter: 
  ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 27 xcorr_sample_synt/kmatch_results.k27 27 26 1; touch xcorr_sample_synt/kmatch_results.k27.finished
./bin/satsuma_run.sh: line 8: 18829 Segmentation fault      (core dumped) ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 27 xcorr_sample_synt/kmatch_results.k27 27 26 1
Running seed pre-filter: 
  ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 29 xcorr_sample_synt/kmatch_results.k29 29 28 1; touch xcorr_sample_synt/kmatch_results.k29.finished
./bin/satsuma_run.sh: line 8: 18840 Segmentation fault      (core dumped) ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 29 xcorr_sample_synt/kmatch_results.k29 29 28 1
Running seed pre-filter: 
  ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 31 xcorr_sample_synt/kmatch_results.k31 31 30 1; touch xcorr_sample_synt/kmatch_results.k31.finished
./bin/satsuma_run.sh: line 8: 18851 Segmentation fault      (core dumped) ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 31 xcorr_sample_synt/kmatch_results.k31 31 30 1
Waiting for seed pre-filters...
loading results for k=11
./test_SatsumaSynteny2: line 4: 18739 Segmentation fault      (core dumped) bin/SatsumaSynteny2 -q samples/human.X.part.fasta -t samples/dog.X.part.fasta -o xcorr_sample_synt -slaves 2 -threads 2

Valgrind prints this error message:

Invalid read of size 4
   at 0x5964371: fseek (in /usr/lib/libc-2.24.so)
   by 0x45293F: WorkQueue::results_from_file(char const*, std::vector<SeqChunk, std::allocator<SeqChunk> > const&) (in /home/rnz/src/git/satsuma2-build/bin/SatsumaSynteny2)
   by 0x415E63: main (in /home/rnz/src/git/satsuma2-build/bin/SatsumaSynteny2)
 Address 0x0 is not stack'd, malloc'd or (recently) free'd

Process terminating with default action of signal 11 (SIGSEGV): dumping core
 Access not within mapped region at address 0x0
   at 0x5964371: fseek (in /usr/lib/libc-2.24.so)
   by 0x45293F: WorkQueue::results_from_file(char const*, std::vector<SeqChunk, std::allocator<SeqChunk> > const&) (in /home/rnz/src/git/satsuma2-build/bin/SatsumaSynteny2)
   by 0x415E63: main (in /home/rnz/src/git/satsuma2-build/bin/SatsumaSynteny2)

I am running the test locally (no changes to the satsuma_run.sh script).

Here is my system:

OS: Linux xxx 4.7.2-1-ARCH #1 SMP PREEMPT Sat Aug 20 23:02:56 CEST 2016 x86_64 GNU/Linux
GCC v6.2.1
CMake v3.6.2
CPU: Intel(R) Core(TM) i7-3770 CPU @ 3.40GH
grabherr commented 7 years ago

This might be related to something I heard earlier, which is that Satsuma2 on gcc 6 has this problem; I think we need to raise this to serious bug level... Bernardo, can you take a look? We'll do everything in support, just let us know...

Cheers,

On 2016-10-03 17:57, Zebulun Arendsee wrote:

I can successfully compile Satsuma2, but the test script, |test_SatsumaSynteny2| crashes with the following message:

|SATSUMA: Welcome to SatsumaSynteny! Current date and time: 2016/10/03 10:43:35 Path for Satsuma2: './bin' Creating directory xcorr_sample_synt Executing bin/SatsumaSynteny2 Setting up grid. Preparing... select=0 chunks=261 chunks: 261 select=0 chunks=245 chunks: 245 size x=11 y=11 size=121 Initializing multimatches... Done. SATSUMA: Acquiring seeds, date and time: 2016/10/03 10:43:35 Running seed pre-filter: ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 11 xcorr_sample_synt/kmatch_results.k11 11 10 1; touch xcorr_sample_synt/kmatch_results.k11.finished ./bin/satsuma_run.sh: line 8: 18742 Segmentation fault (core dumped) ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 11 xcorr_sample_synt/kmatch_results.k11 11 10 1 Running seed pre-filter: ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 13 xcorr_sample_synt/kmatch_results.k13 13 12 1; touch xcorr_sample_synt/kmatch_results.k13.finished ./bin/satsuma_run.sh: line 8: 18750 Segmentation fault (core dumped) ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 13 xcorr_sample_synt/kmatch_results.k13 13 12 1 Running seed pre-filter: ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 15 xcorr_sample_synt/kmatch_results.k15 15 14 1; touch xcorr_sample_synt/kmatch_results.k15.finished ./bin/satsuma_run.sh: line 8: 18761 Segmentation fault (core dumped) ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 15 xcorr_sample_synt/kmatch_results.k15 15 14 1 Running seed pre-filter: ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 17 xcorr_sample_synt/kmatch_results.k17 17 16 1; touch xcorr_sample_synt/kmatch_results.k17.finished ./bin/satsuma_run.sh: line 8: 18774 Segmentation fault (core dumped) ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 17 xcorr_sample_synt/kmatch_results.k17 17 16 1 Running seed pre-filter: ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 19 xcorr_sample_synt/kmatch_results.k19 19 18 1; touch xcorr_sample_synt/kmatch_results.k19.finished ./bin/satsuma_run.sh: line 8: 18784 Segmentation fault (core dumped) ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 19 xcorr_sample_synt/kmatch_results.k19 19 18 1 Running seed pre-filter: ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 21 xcorr_sample_synt/kmatch_results.k21 21 20 1; touch xcorr_sample_synt/kmatch_results.k21.finished ./bin/satsuma_run.sh: line 8: 18794 Segmentation fault (core dumped) ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 21 xcorr_sample_synt/kmatch_results.k21 21 20 1 Running seed pre-filter: ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 23 xcorr_sample_synt/kmatch_results.k23 23 22 1; touch xcorr_sample_synt/kmatch_results.k23.finished ./bin/satsuma_run.sh: line 8: 18807 Segmentation fault (core dumped) ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 23 xcorr_sample_synt/kmatch_results.k23 23 22 1 Running seed pre-filter: ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 25 xcorr_sample_synt/kmatch_results.k25 25 24 1; touch xcorr_sample_synt/kmatch_results.k25.finished ./bin/satsuma_run.sh: line 8: 18818 Segmentation fault (core dumped) ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 25 xcorr_sample_synt/kmatch_results.k25 25 24 1 Running seed pre-filter: ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 27 xcorr_sample_synt/kmatch_results.k27 27 26 1; touch xcorr_sample_synt/kmatch_results.k27.finished ./bin/satsuma_run.sh: line 8: 18829 Segmentation fault (core dumped) ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 27 xcorr_sample_synt/kmatch_results.k27 27 26 1 Running seed pre-filter: ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 29 xcorr_sample_synt/kmatch_results.k29 29 28 1; touch xcorr_sample_synt/kmatch_results.k29.finished ./bin/satsuma_run.sh: line 8: 18840 Segmentation fault (core dumped) ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 29 xcorr_sample_synt/kmatch_results.k29 29 28 1 Running seed pre-filter: ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 31 xcorr_sample_synt/kmatch_results.k31 31 30 1; touch xcorr_sample_synt/kmatch_results.k31.finished ./bin/satsuma_run.sh: line 8: 18851 Segmentation fault (core dumped) ./bin/KMatch samples/human.X.part.fasta samples/dog.X.part.fasta 31 xcorr_sample_synt/kmatch_results.k31 31 30 1 Waiting for seed pre-filters... loading results for k=11 ./test_SatsumaSynteny2: line 4: 18739 Segmentation fault (core dumped) bin/SatsumaSynteny2 -q samples/human.X.part.fasta -t samples/dog.X.part.fasta -o xcorr_sample_synt -slaves 2 -threads 2 |

Valgrind prints this error message:

|Invalid read of size 4 at 0x5964371: fseek (in /usr/lib/libc-2.24.so) by 0x45293F: WorkQueue::results_fromfile(char const, std::vector<SeqChunk, std::allocator > const&) (in /home/rnz/src/git/satsuma2-build/bin/SatsumaSynteny2) by 0x415E63: main (in /home/rnz/src/git/satsuma2-build/bin/SatsumaSynteny2) Address 0x0 is not stack'd, malloc'd or (recently) free'd Process terminating with default action of signal 11 (SIGSEGV): dumping core Access not within mapped region at address 0x0 at 0x5964371: fseek (in /usr/lib/libc-2.24.so) by 0x45293F: WorkQueue::results_fromfile(char const, std::vector<SeqChunk, std::allocator > const&) (in /home/rnz/src/git/satsuma2-build/bin/SatsumaSynteny2) by 0x415E63: main (in /home/rnz/src/git/satsuma2-build/bin/SatsumaSynteny2) |

I am running the test locally (no changes to the |satsuma_run.sh| script).

Here is my system:

|OS: Linux xxx 4.7.2-1-ARCH #1 SMP PREEMPT Sat Aug 20 23:02:56 CEST 2016 x86_64 GNU/Linux GCC v6.2.1 CMake v3.6.2 CPU: Intel(R) Core(TM) i7-3770 CPU @ 3.40GH |

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/bioinfologics/satsuma2/issues/5, or mute the thread https://github.com/notifications/unsubscribe-auth/AIacUOJYkFAo2D63DKBxoV6ljQ0s4v-2ks5qwSXbgaJpZM4KMvb5.

arendsee commented 7 years ago

@grabherr Looks like you are right, I can compile the program and successfully run the tests if I set the compiler to the older version, e.g.

cmake -DCMAKE_CXX_COMPILER=g++-5 CMakeLists.txt
make
./test_SatsumaSynteny2

Where g++-5 is GCC v5.4.0.

jonwright99 commented 7 years ago

@arendsee We'll take a look anyway and hopefully make it work with GCC v6. Thanks for reporting the bug.

jonwright99 commented 7 years ago

Looks like the optimisation -O3 in the CMakeList.txt is the cause. If you use -O0 with gcc6 it works, ie. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lpthread -std=c++14 -O0 -w")

We're working on a fix.

jonwright99 commented 7 years ago

Closing as this is a bug in GCC6 and should be fixed in the next version