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 using vg ids --join #2492

Open
sc13-bioinf opened this issue Oct 1, 2019 · 0 comments
Open

Crash using vg ids --join #2492

sc13-bioinf opened this issue Oct 1, 2019 · 0 comments

Comments

@sc13-bioinf
Copy link

Created chr*.vg files from GRCH38 (ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCA/000/001/405/GCA_000001405.15_GRCh38/seqs_for_alignment_pipelines.ucsc_ids/GCA_000001405.15_GRCh38_no_alt_plus_hs38d1_analysis_set.fna.gz) and http://ftp.1000genomes.ebi.ac.uk/vol1/ftp/data_collections/1000_genomes_project/release/20190312_biallelic_SNV_and_INDEL/ALL.wgs.shapeit2_integrated_snvindels_v2a.GRCh38.27022019.sites.vcf.gz (with chromosome names prefixed with chr)

Graph files created using:

vg construct --reference ${reference_fasta_file_path} --vcf ${variants_vcf_file_path} --region ${chrom} --threads 1 > graph_ref/${chrom}.vg

Crash caused when running:
vg ids --join chr1.vg chr2.vg chr3.vg ....

terminate called after throwing an instance of 'std::runtime_error'
what(): [vg::io::MessageIterator] obsolete, invalid, or corrupt input at message 21101296091831 group 21101296091827
ERROR: Signal 6 occurred. VG has crashed. Run 'vg bugs --new' to report a bug.
Stack trace path: /tmp/vg_crash_nCOB0l/stacktrace.txt

Contents of stacktrace:

Crash report for vg v1.19.0 "Tramutola"
Stack trace (most recent call last):
#18 Object "", at 0xffffffffffffffff, in
#17 Object "/app/software/vg-v1.19.0/bin/vg", at 0x558f9b9924b9, in _start
#16 Object "/lib/x86_64-linux-gnu/libc-2.27.so", at 0x7f00dda2fb96, in __libc_start_main
#15 Object "/app/software/vg-v1.19.0/bin/vg", at 0x558f9b8c7132, in main
Source "src/main.cpp", line 74, in main [0x558f9b8c7132]
#14 Object "/app/software/vg-v1.19.0/bin/vg", at 0x558f9be65ad7, in vg::subcommand::Subcommand::operator()(int, char**) const
| Source "src/subcommand/subcommand.cpp", line 72, in operator()
Source "/usr/include/c++/7/bits/std_function.h", line 706, in operator() [0x558f9be65ad7]
703: {
704: if (_M_empty())
705: __throw_bad_function_call();
> 706: return _M_invoker(_M_functor, std::forward<_ArgTypes>(__args)...);
707: }
708:
709: #if __cpp_rtti
#13 Object "/app/software/vg-v1.19.0/bin/vg", at 0x558f9be4affc, in main_ids(int, char**)
Source "src/subcommand/ids_main.cpp", line 147, in main_ids [0x558f9be4affc]
#12 Object "/app/software/vg-v1.19.0/bin/vg", at 0x558f9c0110ba, in vg::VGset::merge_id_space()
Source "src/vg_set.cpp", line 73, in merge_id_space [0x558f9c0110ba]
#11 Object "/app/software/vg-v1.19.0/bin/vg", at 0x558f9c0108c3, in vg::VGset::transform(std::function<void (vg::VG*)>)
Source "src/vg_set.cpp", line 17, in transform [0x558f9c0108c3]
#10 Object "/app/software/vg-v1.19.0/bin/vg", at 0x558f9c0e3dc5, in vg::VG::VG(std::istream&, bool, bool)
Source "src/vg.cpp", line 25, in VG [0x558f9c0e3dc5]
#9 Object "/app/software/vg-v1.19.0/bin/vg", at 0x558f9c0e37fd, in vg::VG::from_istream(std::istream&, bool, bool)
| Source "src/vg.cpp", line 76, in for_eachvg::Graph
Source "/app/software/vg-v1.19.0/include/vg/io/stream.hpp", line 117, in from_istream [0x558f9c0e37fd]
114: template
115: void for_each(std::istream& in,
116: const std::function<void(T&)>& lambda) {
> 117: for_each(in, static_cast<const typename std::function<void(int64_t, T&)>&>([&lambda](int64_t virtual_offset, T& item) {
118: lambda(item);
119: }));
120: }
#8 Object "/app/software/vg-v1.19.0/bin/vg", at 0x558f9bba285c, in void vg::io::for_eachvg::Graph(std::istream&, std::function<void (long, vg::Graph&)> const&)
| Source "/app/software/vg-v1.19.0/include/vg/io/stream.hpp", line 108, in operator++
| 106: const std::function<void(int64_t, T&)>& lambda) {
| 107:
| > 108: for(ProtobufIterator it(in); it.has_current(); ++it) {
| 109: // For each message in the file, parse and process it with its group VO (or -1)
| 110: lambda(it.tell_group(), *it);
Source "/app/software/vg-v1.19.0/include/vg/io/protobuf_iterator.hpp", line 139, in for_eachvg::Graph [0x558f9bba285c]
137: template
138: auto ProtobufIterator::operator++() -> const ProtobufIterator& {
> 139: ++message_it;
140: fill_value();
141: return *this;
142: }
#7 Object "/app/software/vg-v1.19.0/bin/vg", at 0x558f9c338668, in vg::io::MessageIterator::operator++()
Source "/app/software/vg-v1.19.0/deps/libvgio/src/message_iterator.cpp", line 307, in operator++ [0x558f9c338668]
304: value.second = make_unique();
305: }
306: if (msgSize) {
> 307: handle(coded_in.ReadString(value.second.get(), msgSize), group_vo, item_vo);
308: }
309:
310: // Fill in the tag from the previous to make sure our value pair actually has it.
#6 Object "/app/software/vg-v1.19.0/bin/vg", at 0x558f9c337efc, in vg::io::MessageIterator::handle(bool, long, long)
Source "/app/software/vg-v1.19.0/deps/libvgio/src/message_iterator.cpp", line 418, in handle [0x558f9c337efc]
415: if (!ok) {
416: if (message_virtual_offset) {
417: throw runtime_error("[vg::io::MessageIterator] obsolete, invalid, or corrupt input at message " +
> 418: to_string(message_virtual_offset) + " group " + to_string(group_virtual_offset));
419: } else {
420: throw runtime_error("[vg::io::MessageIterator] obsolete, invalid, or corrupt input at group " +
421: to_string(group_virtual_offset));
#5 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25", at 0x7f00de2d8d23, in __cxa_throw
#4 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25", at 0x7f00de2d8af0, in std::terminate()
#3 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25", at 0x7f00de2d8ab5, in
#2 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25", at 0x7f00de2d2956, in
#1 Object "/lib/x86_64-linux-gnu/libc-2.27.so", at 0x7f00dda4e800, in abort
#0 Object "/lib/x86_64-linux-gnu/libc-2.27.so", at 0x7f00dda4ce97, in raise

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant