vgteam / vg

tools for working with genome variation graphs
https://biostars.org/tag/vg/
Other
1.1k stars 194 forks source link

vg augment crash #4024

Open maxineliu opened 1 year ago

maxineliu commented 1 year ago

1. What were you trying to do? augment sample1.gam back to graph.vg

2. What did you want to happen? generate augmented gam and vg files sample1.aug.gam graph.aug.vg successfully.

3. What actually happened? error msg:

Crash report for vg v1.48.0 "Gallipoli"
slurmstepd: error: poll(): Bad address
/var/spool/slurmd/job9525839/slurm_script: line 33: 18575 Killed                  apptainer exec -e -B /home -B /scratch -B /project /home/maxine91/vg_v1.48.0.sif vg augment --subgraph -i -S -t $SLURM_CPUS_PER_TASK -p -v /home/maxine91/scratch/vgconstruct.dir/graph.dir/${chrom}.graph_div_12bufo.vg /home/maxine91/scratch/vgconstruct.dir/known_sv_calling.dir/${sample_name}.dir/${sample_name}.conc.mapped.gam -A ${sample_name}.${chrom}.aug.gam > ${sample_name}.${chrom}.graph_div_12bufo.aug.vg

4. If you got a line like Stack trace path: /somewhere/on/your/computer/stacktrace.txt, please copy-paste the contents of that file here:

I don't have it.

5. What data and command can the vg dev team use to make the problem happen?

vg augment --subgraph -i -S -t 12 -p -v chr1.graph_div_12bufo.vg sample1.conc.mapped.gam -A sample1.chr1.aug.gam > sample1.chr1.graph_div_12bufo.aug.vg

6. What does running vg version say?

vg v1.48.0 "Gallipoli"
maxineliu commented 1 year ago

When vg augment running for another chromsome vg graph, it returned a more detailed stack trace:

━━━━━━━━━━━━━━━━━━━━
Crash report for vg v1.48.0 "Gallipoli"
Stack trace (most recent call last):
#12   Object "/vg/bin/vg", at 0x5f0e1d, in _start
#11   Object "/vg/bin/vg", at 0x1ed4bcf, in __libc_start_main
#10   Object "/vg/bin/vg", at 0x5c0abe, in main
#9    Object "/vg/bin/vg", at 0xd2f24b, in vg::subcommand::Subcommand::operator()(int, char**) const
#8    Object "/vg/bin/vg", at 0xc9f05d, in main_augment(int, char**)
#7    Object "/vg/bin/vg", at 0xf600e9, in vg::augment(handlegraph::MutablePathMutableHandleGraph*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<vg::Translation, std::allocator<vg::Translation> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool, bool, bool, double, double, vg::Packer*, unsigned long, double, bool)
#6    Object "/vg/bin/vg", at 0xf5f5dc, in vg::augment_impl(handlegraph::MutablePathMutableHandleGraph*, std::function<void (std::function<void (vg::Alignment&)>, bool, bool)>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<vg::Translation, std::allocator<vg::Translation> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool, bool, bool, double, double, vg::Packer*, unsigned long, double, bool)
#5    Object "/vg/bin/vg", at 0xf57eb1, in std::_Function_handler<void (std::function<void (vg::Alignment&)>, bool, bool), vg::augment(handlegraph::MutablePathMutableHandleGraph*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<vg::Translation, std::allocator<vg::Translation> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool, bool, bool, double, double, vg::Packer*, unsigned long, double, bool)::{lambda(std::function<void (vg::Alignment&)>, bool, bool)#2}>::_M_invoke(std::_Any_data const&, std::function<void (vg::Alignment&)>&&, bool&&, std::function<void (vg::Alignment&)>&&)
#4    Object "/vg/bin/vg", at 0xf57a30, in vg::augment(handlegraph::MutablePathMutableHandleGraph*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<vg::Translation, std::allocator<vg::Translation> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool, bool, bool, double, double, vg::Packer*, unsigned long, double, bool)::{lambda(std::function<void (vg::Alignment&)>, bool, bool)#2}::operator()(std::function<void (vg::Alignment&)>, bool, bool) const
#3    Object "/vg/bin/vg", at 0xf6bbd0, in vg::get_input_file(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::function<void (std::istream&)>)
#2    Object "/vg/bin/vg", at 0xf5b1b4, in std::_Function_handler<void (std::istream&), vg::augment(handlegraph::MutablePathMutableHandleGraph*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<vg::Translation, std::allocator<vg::Translation> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool, bool, bool, double, double, vg::Packer*, unsigned long, double, bool)::{lambda(std::function<void (vg::Alignment&)>, bool, bool)#2}::operator()(std::function<void (vg::Alignment&)>, bool, bool) const::{lambda(std::istream&)#1}>::_M_invoke(std::_Any_data const&, std::istream&)
#1    Object "/vg/bin/vg", at 0xc234a7, in void vg::io::for_each<vg::Alignment>(std::istream&, std::function<void (long, vg::Alignment&)> const&)
#0    Object "/vg/bin/vg", at 0x1bbc010, in vg::io::MessageIterator::operator++()
ERROR: Signal 7 occurred. VG has crashed. Visit https://github.com/vgteam/vg/issues/new/choose to report a bug.
Please include this entire error log in your bug report!
glennhickey commented 1 year ago

Can you try running

vg validate <graph.vg> -a <alignment.gam> 

to check that the input is correct?

maxineliu commented 1 year ago

I decided to give up augment step because the large SVs are my targets. Anyway, it's good to use vg validate to test if my graph and gam are correct. However, vg crashed again when running vg validate

The command and crashed info show as below:

apptainer exec -e -B /home -B /scratch -B /project /home/maxine91/vg_v1.49.0.sif vg validate /home/maxine91/scratch/vgconstruct.dir/graph.dir/graph_div_12bufo.xg -a /home/maxine91/scratch/vgconstruct.dir/known_sv_calling.dir/ZYZ288A.dir/ZYZ288A.conc.mapped.gam

terminate called after throwing an instance of 'xg::XGFormatError'
  what():  XG input data not in XG version 16 format (std::bad_alloc)
━━━━━━━━━━━━━━━━━━━━
Crash report for vg v1.49.0 "Peschici"
Stack trace (most recent call last):
#16   Object "/vg/bin/vg", at 0x5f237d, in _start
#15   Object "/vg/bin/vg", at 0x1eef94f, in __libc_start_main
#14   Object "/vg/bin/vg", at 0x5c221e, in main
#13   Object "/vg/bin/vg", at 0xd657ab, in vg::subcommand::Subcommand::operator()(int, char**) const
#12   Object "/vg/bin/vg", at 0xdc7c4b, in main_validate(int, char**)
#11   Object "/vg/bin/vg", at 0xbfab18, in std::unique_ptr<handlegraph::PathHandleGraph, std::default_delete<handlegraph::PathHandleGraph> > vg::io::VPKG::load_one<handlegraph::PathHandleGraph>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
#10   Object "/vg/bin/vg", at 0xbf9e7f, in std::_Function_handler<void (std::istream&), vg::io::VPKG::try_load_one<handlegraph::PathHandleGraph>(std::istream&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::istream&)#1}>::_M_invoke(std::_Any_data const&, std::istream&)
#9    Object "/vg/bin/vg", at 0xbfb4e6, in std::_Function_handler<void (std::istream&), vg::io::VPKG::try_load_bare<handlegraph::PathHandleGraph>(std::istream&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(std::istream&)#1}>::_M_invoke(std::_Any_data const&, std::istream&)
#8    Object "/vg/bin/vg", at 0x145d06e, in std::_Function_handler<void* (std::istream&), vg::io::register_loader_saver_xg()::{lambda(std::istream&)#1}>::_M_invoke(std::_Any_data const&, std::istream&)
#7    Object "/vg/bin/vg", at 0x183f15e, in handlegraph::Serializable::deserialize(std::istream&)
#6    Object "/vg/bin/vg", at 0x593854, in xg::XG::deserialize_members(std::istream&) [clone .cold]
#5    Object "/vg/bin/vg", at 0x1e2b9c8, in __cxa_throw
#4    Object "/vg/bin/vg", at 0x1e2b866, in std::terminate()
#3    Object "/vg/bin/vg", at 0x1e2b7fb, in __cxxabiv1::__terminate(void (*)())
#2    Object "/vg/bin/vg", at 0x5bedaa, in __gnu_cxx::__verbose_terminate_handler() [clone .cold]
#1    Object "/vg/bin/vg", at 0x5c1747, in abort
#0    Object "/vg/bin/vg", at 0x14b002b, in raise
ERROR: Signal 6 occurred. VG has crashed. Visit https://github.com/vgteam/vg/issues/new/choose to report a bug.
Please include this entire error log in your bug report!
━━━━━━━━━━━━━━━━━━━━