algbio / ggcat

Compacted and colored de Bruijn graph construction and querying
MIT License
72 stars 10 forks source link

Deadlock during construction? #18

Closed jnalanko closed 1 year ago

jnalanko commented 1 year ago

Hello, I'm calling ggcat through the C++ API, but it sometimes hangs during construction. Below is the stack trace printed by gdb when I attach to the process during the hang.

#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00005588d321c037 in parking_lot::condvar::Condvar::wait_until_internal ()
#2  0x00005588d41ae05c in parallel_processor::execution_manager::execution_context::ExecutionContext::wait_for_completion ()
#3  0x00005588d419f4cf in ggcat_minimizer_bucketing::GenericMinimizerBucketing::do_bucketing ()
#4  0x00005588d3ec7cb6 in ggcat_assembler_minimizer_bucketing::__minimizer_bucketing_static ()
#5  0x00005588d32a9b8b in ggcat_assembler::run_assembler ()
#6  0x00005588d3397624 in ggcat_assembler::__run_assembler_static ()
#7  0x00005588d329d9bd in ggcat_api::GGCATInstance::build_graph ()
#8  0x00005588d31f3a7b in ggcat_cpp_bindings::ggcat_build ()
#9  0x00005588d31f0622 in cxx::unwind::prevent_unwind ()
#10 0x00005588d31e8827 in cxxbridge1$ggcat_build_from_files ()
#11 0x00005588d31dc3a2 in ggcat_build_from_files(GGCATInstanceFFI const&, rust::cxxbridge1::Slice<rust::cxxbridge1::String const>, rust::cxxbridge1::String, rust::cxxbridge1::Slice<rust::cxxbridge1::String const>, unsigned long, unsigned long, bool, unsigned long, bool, unsigned long, unsigned long) ()
#12 0x00005588d31dba54 in ggcat::GGCATInstance::build_graph_from_files(ggcat::Slice<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, unsigned long, bool, unsigned long, ggcat::ExtraElaborationStep, bool, ggcat::Slice<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, unsigned long) ()