Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash if output directory does not exist / file is not writable #113

Closed
h-2 opened this issue Jan 31, 2018 · 1 comment
Closed

Crash if output directory does not exist / file is not writable #113

h-2 opened this issue Jan 31, 2018 · 1 comment
Assignees
Labels
Milestone

Comments

@h-2
Copy link
Member

h-2 commented Jan 31, 2018

via e-mail:

I was also getting core dumps when the folders for the output file does
not exist.

I just wanted to check whether this is now fixed in the repository
version, it looks it has not been fixed. Copied below is the output of
the terminal where i run the test.

(gdb) r searchp -q ./brine/data/brine1-r1.h4000.fastq.gz -i
./uniprot/uniprot_sprot.fasta.gz.lambda -o test/test.m8
Starting program: /home/uludagm/bin/lambda2 searchp -q
./brine/data/brine1-r1.h4000.fastq.gz -i
./uniprot/uniprot_sprot.fasta.gz.lambda -o test/test.m8
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
WARNING: This binary is not built in release mode and will be much
slower than it should be!
Detaching after fork from child process 15818.
WARNING: This binary is not built in release mode and will be much
slower than it should be!
LAMBDA - the Local Aligner for Massive Biological DatA
======================================================
Version 1.9.4

Reading index properties... done.
Detecting query alphabet... dna5 detected.
Checking memory requirements... met.
Loading Subj Sequences...[New Thread 0x7ffff7ff68c0 (LWP 15820)]
  done.
Loading Subj Ids...[Thread 0x7ffff7ff68c0 (LWP 15820) exited]
  done.
Loading Database Index...[New Thread 0x7ffff7ff68c0 (LWP 15833)]
[Thread 0x7ffff7ff68c0 (LWP 15833) exited]
  done.
Loading Query Sequences and Ids...translating...[New Thread
0x7fffd0e60700 (LWP 15876)]
[New Thread 0x7fffd065f700 (LWP 15877)]
[New Thread 0x7fffcfe5e700 (LWP 15878)]
[New Thread 0x7fffcf65d700 (LWP 15879)]
[New Thread 0x7fffcee5c700 (LWP 15880)]
[New Thread 0x7fffce65b700 (LWP 15881)]
[New Thread 0x7fffcde5a700 (LWP 15882)]
[New Thread 0x7fffcd659700 (LWP 15883)]
[New Thread 0x7fffcce58700 (LWP 15884)]
[New Thread 0x7fffcc657700 (LWP 15885)]
[New Thread 0x7fffcbe56700 (LWP 15886)]
[New Thread 0x7fffcb655700 (LWP 15887)]
[New Thread 0x7fffcae54700 (LWP 15888)]
[New Thread 0x7fffca653700 (LWP 15889)]
[New Thread 0x7fffc9e52700 (LWP 15890)]
  done.
Searching and extending hits on-line...progress:
0%  10%  20%  30%  40%  50%  60%  70%  80%  90%  100%

|
Thread 1 "lambda2" received signal SIGSEGV, Segmentation fault.
std::basic_streambuf<char, std::char_traits<char> >::epptr (this=0x0)
     at
/usr/src/debug/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/x86_64-redhat-linux/libstdc++-v3/include/streambuf:535
535          epptr() const { return _M_out_end; }
(gdb) bt
#0  std::basic_streambuf<char, std::char_traits<char> >::epptr (this=0x0)
     at
/usr/src/debug/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/x86_64-redhat-linux/libstdc++-v3/include/streambuf:535
#1  0x0000000000fd3155 in seqan::getChunk<seqan::Range<char*>, char,
std::char_traits<char> > (result=..., buf=...)
     at
/home/uludagm/lambda/include/seqan/include/seqan/stream/iter_stream.h:545
#2  0x00000000011daee5 in seqan::getChunk<seqan::Range<char*>,
seqan::VirtualStream<char, seqan::Tag<seqan::Output_>,
std::char_traits<char> >, seqan::Output_> (result=..., iter=...) at
/home/uludagm/lambda/include/seqan/include/seqan/stream/iter_stream.h:554
#3  0x000000000123495b in
seqan::write<seqan::Iter<seqan::VirtualStream<char,
seqan::Tag<seqan::Output_>, std::char_traits<char> >,
seqan::StreamIterator<seqan::Tag<seqan::Output_> > >, char, unsigned
long> (target=...,
     ptr=0x1c16a45 "K00235:73:HKTWCBBXX:3:1101:6572:1387
1:N:0:AGTCAAK00235:73:HKTWCBBXX:3:1101:6978:1387
1:N:0:AGTCAAK00235:73:HKTWCBBXX:3:1101:7283:1387
1:N:0:AGTCAAK00235:73:HKTWCBBXX:3:1101:7364:1387 1:N:0:AGTCAAK002"..., n=36)
     at
/home/uludagm/lambda/include/seqan/include/seqan/basic/basic_stream.h:943
#4  0x0000000001235363 in
seqan::write<seqan::Iter<seqan::VirtualStream<char,
seqan::Tag<seqan::Output_>, std::char_traits<char> >,
seqan::StreamIterator<seqan::Tag<seqan::Output_> > >,
seqan::Segment<seqan::String<char, seqan::Alloc<void> >,
seqan::InfixSegment> > (target=..., cont=...)
     at
/home/uludagm/lambda/include/seqan/include/seqan/basic/basic_stream.h:1095
#5  0x00000000012eab69 in
seqan::_writeField<seqan::Iter<seqan::VirtualStream<char,
seqan::Tag<seqan::Output_>, std::char_traits<char> >,
seqan::StreamIterator<seqan::Tag<seqan::Output_> > >, seqan::Score<int,
seqan::ScoreMatrix<seqan::SimpleType<unsigned char, seqan::AminoAcid_>,
seqan::ScoreSpecSelectable> >, seqan::Segment<seqan::String<char,
seqan::Alloc<void> >, seqan::InfixSegment>,
seqan::Segment<seqan::String<char, seqan::Alloc<void> >,
seqan::InfixSegment>, unsigned int,
seqan::Gaps<seqan::Segment<seqan::String<seqan::SimpleType<unsigned
char, seqan::AminoAcid_>, seqan::Alloc<void> >, seqan::InfixSegment>,
seqan::Tag<seqan::ArrayGaps_> >,
seqan::Gaps<seqan::Segment<seqan::String<seqan::SimpleType<unsigned
char, seqan::AminoAcid_>, seqan::Alloc<void> >, seqan::InfixSegment>,
seqan::Tag<seqan::ArrayGaps_> >,
seqan::BlastMatch<seqan::Gaps<seqan::Segment<seqan::String<seqan::SimpleType<unsigned
char, seqan::AminoAcid_>, seqan::Alloc<void> >, seqan::InfixSegment>,
seqan::Tag<seqan::ArrayGaps_> >,
seqan::Gaps<seqan::Segment<seqan::String<seqan::SimpleType<unsigned
char, seqan::AminoAcid_>, seqan::Alloc<void> >, seqan::InfixSegment>,
seqan::Tag<seqan::ArrayGaps_> >, unsigned int,
seqan::Segment<seqan::String<char, seqan::Alloc<void> >,
seqan::InfixSegment>, seqan::Segment<seqan::String<char,
seqan::Alloc<void> >, seqan::InfixSegment>, std::vector<std::string,
std::allocator<std::string> >, seqan::String<unsigned int,
seqan::Alloc<void> > >, seqan::Segment<seqan::String<char,
seqan::Alloc<void> >, seqan::InfixSegment>, std::vector<std::string,
std::allocator<std::string> >, seqan::Segment<seqan::String<char,
seqan::Alloc<void> >, seqan::InfixSegment>, unsigned int,
(seqan::BlastProgram)2, (seqan::BlastTabularSpec)0> (s=..., context=...,
match=...,
     record=..., fieldId=seqan::BlastMatchField<void>::Enum::Q_SEQ_ID)
     at
/home/uludagm/lambda/include/seqan/include/seqan/blast/blast_tabular_out.h:266
#6  0x000000000128eff8 in
seqan::_writeMatch<seqan::Segment<seqan::String<char, seqan::Alloc<void>

 >, seqan::InfixSegment>, seqan::Segment<seqan::String<char,
seqan::Alloc<void> >, seqan::InfixSegment>,
seqan::Iter<seqan::VirtualStream<char, seqan::Tag<seqan::Output_>,
std::char_traits<char> >,
seqan::StreamIterator<seqan::Tag<seqan::Output_> > >, seqan::Score<int,
seqan::ScoreMatrix<seqan::SimpleType<unsigned char, seqan::AminoAcid_>,
seqan::ScoreSpecSelectable> >, unsigned int,
seqan::Gaps<seqan::Segment<seqan::String<seqan::SimpleType<unsigned
char, seqan::AminoAcid_>, seqan::Alloc<void> >, seqan::InfixSegment>,
seqan::Tag<seqan::ArrayGaps_> >,
seqan::Gaps<seqan::Segment<seqan::String<seqan::SimpleType<unsigned
char, seqan::AminoAcid_>, seqan::Alloc<void> >, seqan::InfixSegment>,
seqan::Tag<seqan::ArrayGaps_> >,
seqan::BlastMatch<seqan::Gaps<seqan::Segment<seqan::String<seqan::SimpleType<unsigned
char, seqan::AminoAcid_>, seqan::Alloc<void> >, seqan::InfixSegment>,
seqan::Tag<seqan::ArrayGaps_> >,
seqan::Gaps<seqan::Segment<seqan::String<seqan::SimpleType<unsigned
char, seqan::AminoAcid_>, seqan::Alloc<void> >, seqan::InfixSegment>,
seqan::Tag<seqan::ArrayGaps_> >, unsigned int,
seqan::Segment<seqan::String<char, seqan::Alloc<void> >,
seqan::InfixSegment>, seqan::Segment<seqan::String<char,
seqan::Alloc<void> >, seqan::InfixSegment>, std::vector<std::string,
std::allocator<std::string> >, seqan::String<unsigned int,
seqan::Alloc<void> > >, seqan::Segment<seqan::String<char,
seqan::Alloc<void> >, seqan::InfixSegment>, std::vector<std::string,
std::allocator<std::string> >, seqan::Segment<seqan::String<char,
seqan::Alloc<void> >, seqan::InfixSegment>, unsigned int,
(seqan::BlastProgram)2, (seqan::BlastTabularSpec)0> (stream=...,
context=..., match=...,
     record=...) at
/home/uludagm/lambda/include/seqan/include/seqan/blast/blast_tabular_out.h:547
#7  0x000000000124f667 in
seqan::writeRecord<seqan::Iter<seqan::VirtualStream<char,
seqan::Tag<seqan::Output_>, std::char_traits<char> >,
seqan::StreamIterator<seqan::Tag<seqan::Output_> > >, seqan::Score<int,
seqan::ScoreMatrix<seqan::SimpleType<unsigned char, seqan::AminoAcid_>,
seqan::ScoreSpecSelectable> >,
seqan::BlastMatch<seqan::Gaps<seqan::Segment<seqan::String<seqan::SimpleType<unsigned
char, seqan::AminoAcid_>, seqan::Alloc<void> >, seqan::InfixSegment>,
seqan::Tag<seqan::ArrayGaps_> >,
seqan::Gaps<seqan::Segment<seqan::String<seqan::SimpleType<unsigned
char, seqan::AminoAcid_>, seqan::Alloc<void> >, seqan::InfixSegment>,
seqan::Tag<seqan::ArrayGaps_> >, unsigned int,
seqan::Segment<seqan::String<char, seqan::Alloc<void> >,
seqan::InfixSegment>, seqan::Segment<seqan::String<char,
seqan::Alloc<void> >, seqan::InfixSegment>, std::vector<std::string,
std::allocator<std::string> >, seqan::String<unsigned int,
seqan::Alloc<void> > >, seqan::Segment<seqan::String<char,
seqan::Alloc<void> >, seqan::InfixSegment>, std::vector<std::string,
std::allocator<std::string> >, seqan::Segment<seqan::String<char,
seqan::Alloc<void> >, seqan::InfixSegment>, unsigned int,
(seqan::BlastProgram)2, (seqan::BlastTabularSpec)0> (stream=...,
context=..., r=...)
---Type <return> to continue, or q <return> to quit---
    .h:654
#8  0x0000000001200abe in
seqan::writeRecord<seqan::BlastIOContext<seqan::Score<int,
seqan::ScoreMatrix<seqan::SimpleType<unsigned char, seqan::AminoAcid_>,
seqan::ScoreSpecSelectable> >, (seqan::BlastProgram)2,
(seqan::BlastTabularSpec)0>,
seqan::BlastMatch<seqan::Gaps<seqan::Segment<seqan::String<seqan::SimpleType<unsigned
char, seqan::AminoAcid_>, seqan::Alloc<void> >, seqan::InfixSegment>,
seqan::Tag<seqan::ArrayGaps_> >,
seqan::Gaps<seqan::Segment<seqan::String<seqan::SimpleType<unsigned
char, seqan::AminoAcid_>, seqan::Alloc<void> >, seqan::InfixSegment>,
seqan::Tag<seqan::ArrayGaps_> >, unsigned int,
seqan::Segment<seqan::String<char, seqan::Alloc<void> >,
seqan::InfixSegment>, seqan::Segment<seqan::String<char,
seqan::Alloc<void> >, seqan::InfixSegment>, std::vector<std::string,
std::allocator<std::string> >, seqan::String<unsigned int,
seqan::Alloc<void> > >, seqan::Segment<seqan::String<char,
seqan::Alloc<void> >, seqan::InfixSegment>, std::vector<std::string,
std::allocator<std::string> >, seqan::Segment<seqan::String<char,
seqan::Alloc<void> >, seqan::InfixSegment>, unsigned int>
(formattedFile=..., r=...)
     at
/home/uludagm/lambda/include/seqan/include/seqan/blast/blast_tabular_out.h:664
#9  0x00000000011b0091 in
myWriteRecord<LocalDataHolder<GlobalDataHolder<seqan::SimpleType<unsigned
char, seqan::ReducedAminoAcid_<seqan::Tag<seqan::Murphy10_> > >,
seqan::FMIndex<void, LambdaFMIndexConfig>,
seqan::Tag<seqan::BlastTabular_>, (seqan::BlastProgram)2,
(seqan::BlastTabularSpec)0>, seqan::Tag<seqan::AffineGaps_> >,
seqan::BlastRecord<seqan::BlastMatch<seqan::Gaps<seqan::Segment<seqan::String<seqan::SimpleType<unsigned
char, seqan::AminoAcid_>, seqan::Alloc<void> >, seqan::InfixSegment>,
seqan::Tag<seqan::ArrayGaps_> >,
seqan::Gaps<seqan::Segment<seqan::String<seqan::SimpleType<unsigned
char, seqan::AminoAcid_>, seqan::Alloc<void> >, seqan::InfixSegment>,
seqan::Tag<seqan::ArrayGaps_> >, unsigned int,
seqan::Segment<seqan::String<char, seqan::Alloc<void> >,
seqan::InfixSegment>, seqan::Segment<seqan::String<char,
seqan::Alloc<void> >, seqan::InfixSegment>, std::vector<std::string,
std::allocator<std::string> >, seqan::String<unsigned int,
seqan::Alloc<void> > >, seqan::Segment<seqan::String<char,
seqan::Alloc<void> >, seqan::InfixSegment>, std::vector<std::string,
std::allocator<std::string> >, seqan::Segment<seqan::String<char,
seqan::Alloc<void> >, seqan::InfixSegment>, unsigned int> > (lH=...,
record=...) at /home/uludagm/lambda/src/search_output.hpp:442
#10 0x00000000011486c4 in
_writeRecord<seqan::BlastRecord<seqan::BlastMatch<seqan::Gaps<seqan::Segment<seqan::String<seqan::SimpleType<unsigned
char, seqan::AminoAcid_>, seqan::Alloc<void> >, seqan::InfixSegment>,
seqan::Tag<seqan::ArrayGaps_> >,
seqan::Gaps<seqan::Segment<seqan::String<seqan::SimpleType<unsigned
char, seqan::AminoAcid_>, seqan::Alloc<void> >, seqan::InfixSegment>,
seqan::Tag<seqan::ArrayGaps_> >, unsigned int,
seqan::Segment<seqan::String<char, seqan::Alloc<void> >,
seqan::InfixSegment>, seqan::Segment<seqan::String<char,
seqan::Alloc<void> >, seqan::InfixSegment>, std::vector<std::string,
std::allocator<std::string> >, seqan::String<unsigned int,
seqan::Alloc<void> > >, seqan::Segment<seqan::String<char,
seqan::Alloc<void> >, seqan::InfixSegment>, std::vector<std::string,
std::allocator<std::string> >, seqan::Segment<seqan::String<char,
seqan::Alloc<void> >, seqan::InfixSegment>, unsigned int>,
LocalDataHolder<GlobalDataHolder<seqan::SimpleType<unsigned char,
seqan::ReducedAminoAcid_<seqan::Tag<seqan::Murphy10_> > >,
seqan::FMIndex<void, LambdaFMIndexConfig>,
seqan::Tag<seqan::BlastTabular_>, (seqan::BlastProgram)2,
(seqan::BlastTabularSpec)0>, seqan::Tag<seqan::AffineGaps_> > >
(record=..., lH=...) at /home/uludagm/lambda/src/search_algo.hpp:1406
#11 0x00000000010c0a92 in
iterateMatchesFullSimd<LocalDataHolder<GlobalDataHolder<seqan::SimpleType<unsigned
char, seqan::ReducedAminoAcid_<seqan::Tag<seqan::Murphy10_> > >,
seqan::FMIndex<void, LambdaFMIndexConfig>,
seqan::Tag<seqan::BlastTabular_>, (seqan::BlastProgram)2,
(seqan::BlastTabularSpec)0>, seqan::Tag<seqan::AffineGaps_> > > (lH=...)
at /home/uludagm/lambda/src/search_algo.hpp:2518
#12 0x00000000010440d2 in
iterateMatches<LocalDataHolder<GlobalDataHolder<seqan::SimpleType<unsigned
char, seqan::ReducedAminoAcid_<seqan::Tag<seqan::Murphy10_> > >,
seqan::FMIndex<void, LambdaFMIndexConfig>,
seqan::Tag<seqan::BlastTabular_>, (seqan::BlastProgram)2,
(seqan::BlastTabularSpec)0>, seqan::Tag<seqan::AffineGaps_> > > (lH=...)
at /home/uludagm/lambda/src/search_algo.hpp:2653
#13 0x0000000000f63598 in realMain<seqan::FMIndex<void,
LambdaFMIndexConfig>, seqan::SimpleType<unsigned char,
seqan::ReducedAminoAcid_<seqan::Tag<seqan::Murphy10_> > >,
seqan::Tag<seqan::AffineGaps_>, seqan::Tag<seqan::BlastTabular_>,
(seqan::BlastProgram)2, (seqan::BlastTabularSpec)0> (
     options=...) at /home/uludagm/lambda/src/search.hpp:564
#14 0x0000000000000000 in ?? ()
(gdb)
@h-2 h-2 added the bug label Jan 31, 2018
@h-2 h-2 added this to the 1.9.4 milestone Jan 31, 2018
@h-2 h-2 self-assigned this Jan 31, 2018
@h-2
Copy link
Member Author

h-2 commented Jan 31, 2018

Should be fixed by 9ee1fb4

@h-2 h-2 closed this as completed Jan 31, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant