ithron / CortidQCT

A tool for automatic cortical shape identification for QCT scans
Academic Free License v3.0
2 stars 0 forks source link

CortidQCT_CLI crashed when build in debug mode #71

Closed ithron closed 4 years ago

ithron commented 4 years ago

Describe the bug CortidQCT_CLI crashes right after the start when it has been build with debug configuration.

To Reproduce Steps to reproduce the behavior:

  1. Build CortidQCT with -DCMAKE_BUILD_TYPE=Debug
  2. Rund CortidQCT_CLI someConfiguration.yml someVolume.bst outMesh.off
  3. Crashes with failed Eigen assertion:
    Assertion `rows == this->rows() && cols == this->cols() && "DenseBase::resize() does not actually allow to resize."' failed.

Expected behavior CortidQCT_CLI runs to completion without crashing

Desktop (please complete the following information):

Additional context Backtrace:

* thread #1, name = 'CortidQCT_CLI', stop reason = signal SIGABRT
  * frame #0: 0x00007ffff6a94e97 libc.so.6`__GI_raise(sig=2) at raise.c:51
    frame #1: 0x00007ffff6a96801 libc.so.6`__GI_abort at abort.c:79
    frame #2: 0x00007ffff6a8639a libc.so.6`__assert_fail_base(fmt="%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion="rows == this->rows() && cols == this->cols() && \"DenseBase::resize() does not actually allow to resize.\"", file="/<path>/CortidQCT/build/debug/hunter/_Base/70287b1/de802b8/ff7f2d0/Install/include/eigen3/Eigen/src/Core/DenseBase.h", line=257, function=<unavailable>) at assert.c:92
    frame #3: 0x00007ffff6a86412 libc.so.6`__GI___assert_fail(assertion=<unavailable>, file=<unavailable>, line=<unavailable>, function=<unavailable>) at assert.c:101
    frame #4: 0x00000000004a79aa CortidQCT_CLI`Eigen::DenseBase<Eigen::Map<Eigen::Matrix<float, 3, -1, 0, 3, -1>, 0, Eigen::Stride<0, 0> > >::resize(this=0x00007fffffffc808, rows=3, cols=3670) at DenseBase.h:256
    frame #5: 0x00000000005eb614 CortidQCT_CLI`void Eigen::internal::resize_if_allowed<Eigen::Map<Eigen::Matrix<float, 3, -1, 0, 3, -1>, 0, Eigen::Stride<0, 0> >, Eigen::Map<Eigen::Matrix<float, 3, -1, 0, 3, -1>, 0, Eigen::Stride<0, 0> >, float, float>(dst=0x00007fffffffc808, src=0x00007fffffffc828, (null)=0x00007fffffffc518) at AssignEvaluator.h:720
    frame #6: 0x00000000005eb4e5 CortidQCT_CLI`void Eigen::internal::call_dense_assignment_loop<Eigen::Map<Eigen::Matrix<float, 3, -1, 0, 3, -1>, 0, Eigen::Stride<0, 0> >, Eigen::Map<Eigen::Matrix<float, 3, -1, 0, 3, -1>, 0, Eigen::Stride<0, 0> >, Eigen::internal::assign_op<float, float> >(dst=0x00007fffffffc808, src=0x00007fffffffc828, func=0x00007fffffffc518) at AssignEvaluator.h:734
    frame #7: 0x00000000005eb472 CortidQCT_CLI`Eigen::internal::Assignment<Eigen::Map<Eigen::Matrix<float, 3, -1, 0, 3, -1>, 0, Eigen::Stride<0, 0> >, Eigen::Map<Eigen::Matrix<float, 3, -1, 0, 3, -1>, 0, Eigen::Stride<0, 0> >, Eigen::internal::assign_op<float, float>, Eigen::internal::Dense2Dense, void>::run(dst=0x00007fffffffc808, src=0x00007fffffffc828, func=0x00007fffffffc518) at AssignEvaluator.h:879
    frame #8: 0x00000000005eb42d CortidQCT_CLI`void Eigen::internal::call_assignment_no_alias<Eigen::Map<Eigen::Matrix<float, 3, -1, 0, 3, -1>, 0, Eigen::Stride<0, 0> >, Eigen::Map<Eigen::Matrix<float, 3, -1, 0, 3, -1>, 0, Eigen::Stride<0, 0> >, Eigen::internal::assign_op<float, float> >(dst=0x00007fffffffc808, src=0x00007fffffffc828, func=0x00007fffffffc518) at AssignEvaluator.h:836
    frame #9: 0x00000000005eb3f9 CortidQCT_CLI`void Eigen::internal::call_assignment<Eigen::Map<Eigen::Matrix<float, 3, -1, 0, 3, -1>, 0, Eigen::Stride<0, 0> >, Eigen::Map<Eigen::Matrix<float, 3, -1, 0, 3, -1>, 0, Eigen::Stride<0, 0> >, Eigen::internal::assign_op<float, float> >(dst=0x00007fffffffc808, src=0x00007fffffffc828, func=0x00007fffffffc518, (null)=0x0000000000000000), void*>::type) at AssignEvaluator.h:804
    frame #10: 0x00000000005eb3bf CortidQCT_CLI`void Eigen::internal::call_assignment<Eigen::Map<Eigen::Matrix<float, 3, -1, 0, 3, -1>, 0, Eigen::Stride<0, 0> >, Eigen::Map<Eigen::Matrix<float, 3, -1, 0, 3, -1>, 0, Eigen::Stride<0, 0> > >(dst=0x00007fffffffc808, src=0x00007fffffffc828) at AssignEvaluator.h:782
    frame #11: 0x00000000005eb36c CortidQCT_CLI`Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<float, 3, -1, 0, 3, -1>, 0, Eigen::Stride<0, 0> > >::operator=(this=0x00007fffffffc808, other=0x00007fffffffc828) at Assign.h:57
    frame #12: 0x00000000005eb317 CortidQCT_CLI`Eigen::MapBase<Eigen::Map<Eigen::Matrix<float, 3, -1, 0, 3, -1>, 0, Eigen::Stride<0, 0> >, 1>::operator=(this=0x00007fffffffc808, other=0x00007fffffffc828) at MapBase.h:286
    frame #13: 0x00000000005d1ed7 CortidQCT_CLI`Eigen::Map<Eigen::Matrix<float, 3, -1, 0, 3, -1>, 0, Eigen::Stride<0, 0> >::operator=(this=0x00007fffffffc808, other=0x00007fffffffc828) at Map.h:162
    frame #14: 0x00000000005ce258 CortidQCT_CLI`CortidQCT::MeshFitter::Impl::init(this=0x0000000000b91610, volume=0x00007fffffffd4f8) const at MeshFitterImpl.cpp:149
    frame #15: 0x00000000005cd986 CortidQCT_CLI`CortidQCT::MeshFitter::Impl::fit(this=0x0000000000b91610, volume=0x00007fffffffd4f8) const at MeshFitterImpl.cpp:85
    frame #16: 0x00000000005a4a1e CortidQCT_CLI`CortidQCT::MeshFitter::fit(this=0x00007fffffffd338, volume=0x00007fffffffd4f8) const at MeshFitter.cpp:59
    frame #17: 0x000000000040c58f CortidQCT_CLI`main(argc=4, argv=0x00007fffffffd748) at CLI.cpp:33
    frame #18: 0x00007ffff6a77b97 libc.so.6`__libc_start_main(main=(CortidQCT_CLI`main at CLI.cpp:20), argc=4, argv=0x00007fffffffd748, init=<unavailable>, fini=<unavailable>, rtld_fini=<unavailable>, stack_end=0x00007fffffffd738) at libc-start.c:310
    frame #19: 0x000000000040c27a CortidQCT_CLI`_start + 42