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

Errors in tests #6431

Closed
philbucher opened this issue Feb 18, 2020 · 23 comments · Fixed by #6947 or #6972
Closed

Errors in tests #6431

philbucher opened this issue Feb 18, 2020 · 23 comments · Fixed by #6947 or #6972

Comments

@philbucher
Copy link
Member

I am constantly running the tests of the Apps in the CI to see if I can reproduce the errors. I am compiling in FullDebug with GLIBCXX_DEBUG and run the small-suite with 2 omp threads
FYI @KratosMultiphysics/technical-committee

I found one in the Fluid (@rubenzorrilla I guess this is yours), which happens randomly

testEmbeddedAusasDevelopmentCouette2D (embedded_couette_test.EmbeddedCouetteTest) ... /usr/include/c++/5/debug/safe_iterator.h:758:error: attempt to compute the 
    difference between a singular iterator to a singular iterator.

Objects involved in the operation:
iterator "lhs" @ 0x0x7f630149e7d0 {
type = N11__gnu_debug14_Safe_iteratorIN9__gnu_cxx17__normal_iteratorIPKSt4pairIPKN6Kratos12VariableDataEPvENSt9__cxx19986vectorIS9_SaIS9_EEEEENSt7__debug6vectorIS9_SE_EEEE (constant iterator);
  state = singular;
  references sequence with type `NSt7__debug6vectorISt4pairIPKN6Kratos12VariableDataEPvESaIS7_EEE' @ 0x0x7f62fc0672e8
}
iterator "rhs" @ 0x0x7f630149e7a0 {
type = N11__gnu_debug14_Safe_iteratorIN9__gnu_cxx17__normal_iteratorIPKSt4pairIPKN6Kratos12VariableDataEPvENSt9__cxx19986vectorIS9_SaIS9_EEEEENSt7__debug6vectorIS9_SE_EEEE (constant iterator);
  state = singular;
  references sequence with type `NSt7__debug6vectorISt4pairIPKN6Kratos12VariableDataEPvESaIS7_EEE' @ 0x0x7f62fc0672e8
}

I will report more if I find more:

@philbucher
Copy link
Member Author

ok now looks like we are getting somewhere: (@loumalouomega )

TestSPRErrorProcess1                                                    OK.

/usr/include/c++/5/debug/safe_iterator.h:758:error: attempt to compute the 
    difference between a singular iterator to a singular iterator.

Objects involved in the operation:
iterator "lhs" @ 0x0x7fc7040dc630 {
type = N11__gnu_debug14_Safe_iteratorIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN6Kratos12VariableDataEPvENSt9__cxx19986vectorIS9_SaIS9_EEEEENSt7__debug6vectorIS9_SD_EEEE (mutable iterator);
  state = singular;
  references sequence with type `NSt7__debug6vectorISt4pairIPKN6Kratos12VariableDataEPvESaIS7_EEE' @ 0x0x35a3588
}
iterator "rhs" @ 0x0x7fc7040dc600 {
type = N11__gnu_debug14_Safe_iteratorIN9__gnu_cxx17__normal_iteratorIPSt4pairIPKN6Kratos12VariableDataEPvENSt9__cxx19986vectorIS9_SaIS9_EEEEENSt7__debug6vectorIS9_SD_EEEE (mutable iterator);
  state = singular;
  references sequence with type `NSt7__debug6vectorISt4pairIPKN6Kratos12VariableDataEPvESaIS7_EEE' @ 0x0x35a3588
}
TestSPRErrorProcess2Aborted (core dumped)

seems to be the same error
@pooyan-dadvand I think you could know this

@rubenzorrilla
Copy link
Member

😮 no clue about what "difference between a singular iterator to a singular iterator" means.

@roigcarlo
Copy link
Member

A singular iterator is an iterator that does not point to any container. its like a sort of uninitialized variable. The error seems to say that it cannot do the difference between undefined and undefined, which makes sense if its the case

@philbucher
Copy link
Member Author

I am trying to get the error in gdb but it resists to fail there xD

@philbucher
Copy link
Member Author

#0  0x00007ffff7825428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
        resultvar = 0
        pid = 16969
        selftid = 16969
#1  0x00007ffff782702a in __GI_abort () at abort.c:89
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0x3231783078302040, sa_sigaction = 0x3231783078302040}, sa_mask = {__val = {4107294097427020084, 45015380065, 140737349637440, 
              140737226862392, 36, 0, 10953280, 140737352340968, 140737346134216, 140737488328288, 140737226862392, 1, 140737226322434, 0, 14244857984565511168, 140737488328288}}, 
          sa_flags = 1307182080, sa_restorer = 0x7fffffff9660}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007ffff061bf95 in __gnu_debug::_Error_formatter::_M_error() const () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#3  0x00007fffef90aba9 in __gnu_debug::operator!=<__gnu_cxx::__normal_iterator<std::pair<Kratos::VariableData const*, void*>*, std::__cxx1998::vector<std::pair<Kratos::VariableData const*, void*>, std::allocator<std::pair<Kratos::VariableData const*, void*> > > >, std::__debug::vector<std::pair<Kratos::VariableData const*, void*>, std::allocator<std::pair<Kratos::VariableData const*, void*> > > > (__lhs=..., __rhs=...) at /usr/include/c++/5/debug/safe_iterator.h:581
No locals.
#4  0x00007fffef916af1 in Kratos::DataValueContainer::GetValue<Kratos::GlobalPointersVector<Kratos::Element> > (this=0x12492a0, rThisVariable=...)
    at /home/philippb/software/Kratos_prod/kratos/containers/data_value_container.h:215
        __PRETTY_FUNCTION__ = "TDataType& Kratos::DataValueContainer::GetValue(const Kratos::Variable<TDataType>&) [with TDataType = Kratos::GlobalPointersVector<Kratos::Element>]"
        i = {first = <Kratos::NEIGHBOUR_ELEMENTS>, second = }
#5  0x00007fffed46c196 in Kratos::Node<3ul, Kratos::Dof<double> >::GetValue<Kratos::Variable<Kratos::GlobalPointersVector<Kratos::Element> > > (this=0x1249200, rThisVariable=...)
    at /home/philippb/software/Kratos_prod/kratos/includes/node.h:591
No locals.
#6  0x00007fffed4be33f in Kratos::SPRErrorProcess<3ul>::CalculateSuperconvergentStresses ()
    at /home/philippb/software/Kratos_prod/applications/StructuralMechanicsApplication/custom_processes/spr_error_process.cpp:115
        it_node_loop = {<boost::iterators::iterator_adaptor<boost::iterators::indirect_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >*, std::__cxx1998::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, std::__debug::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default>, __gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >*, std::__cxx1998::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, std::__debug::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, Kratos::Node<3ul, Kratos::Dof<double> >, boost::iterators::use_default, Kratos::Node<3ul, Kratos::Dof<double> >&, boost::iterators::use_default>> = {<boost::iterators::iterator_facade<boost::iterators::indirect_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >*, std::__cxx1998::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, std::__debug::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default>, Kratos::Node<3ul, Kratos::Dof<double> >, boost::iterators::random_access_traversal_tag, Kratos::Node<3ul, Kratos::Dof<double> >&, long>> = {<boost::iterators::detail::iterator_facade_base<boost::iterators::indirect_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >*, std::__cxx1998::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, std::__debug::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default>, Kratos::Node<3ul, Kratos::Dof<double> >, boost::iterators::random_access_traversal_tag, Kratos::Node<3ul, Kratos::Dof<double> >&, long, true, true>> = {<boost::iterators::detail::iterator_facade_base<boost::iterators::indirect_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >*, std::__cxx1998::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, std::__debug::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default>, Kratos::Node<3ul, Kratos::Dof<double> >, boost::iterators::random_access_traversal_tag, Kratos::Node<3ul, Kratos::Dof<double> >&, long, true, false>> = {<boost::iterators::detail::iterator_facade_base<boost::iterators::indirect_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >*, std::__cxx1998::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, std::__debug::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default>, Kratos::Node<3ul, Kratos::Dof<double> >, boost::iterators::random_access_traversal_tag, Kratos::Node<3ul, Kratos::Dof<double> >&, long, false, false>> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, m_iterator = {px = }}, <No data fields>}
        size_elem_neigh = 2
        i_node_loop = 11
        sigma_recovered_i = {<boost::numeric::ublas::vector_container<boost::numeric::ublas::vector<double, boost::numeric::ublas::unbounded_array<double, std::allocator<double> > > >> = {<boost::numeric::ublas::vector_expression<boost::numeric::ublas::vector<double, boost::numeric::ublas::unbounded_array<double, std::allocator<double> > > >> = {<boost::numeric::ublas::ublas_expression<boost::numeric::ublas::vector<double, boost::numeric::ublas::unbounded_array<double, std::allocator<double> > > >> = {<No data fields>}, static complexity = 
    <optimized out>}, static complexity = <optimized out>}, 
---Type <return> to continue, or q <return> to quit---
          data_ = {<boost::numeric::ublas::storage_array<boost::numeric::ublas::unbounded_array<double, std::allocator<double> > >> = {<boost::numeric::ublas::nonassignable_::nonassignable> = {<No data fields>}, <No data fields>}, alloc_ = {<__gnu_cxx::new_allocator<double>> = {<No data fields>}, <No data fields>}, size_ = 6, data_ = 0x124c9f0}}
        count_i = 1
        it_neighbour_nodes = {<boost::iterators::iterator_adaptor<boost::iterators::indirect_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > >*, std::__cxx1998::vector<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, std::__debug::vector<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default>, __gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > >*, std::__cxx1998::vector<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, std::__debug::vector<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, Kratos::Node<3ul, Kratos::Dof<double> >, boost::iterators::use_default, Kratos::Node<3ul, Kratos::Dof<double> >&, boost::iterators::use_default>> = {<boost::iterators::iterator_facade<boost::iterators::indirect_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > >*, std::__cxx1998::vector<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, std::__debug::vector<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default>, Kratos::Node<3ul, Kratos::Dof<double> >, boost::iterators::random_access_traversal_tag, Kratos::Node<3ul, Kratos::Dof<double> >&, long>> = {<boost::iterators::detail::iterator_facade_base<boost::iterators::indirect_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > >*, std::__cxx1998::vector<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, std::__debug::vector<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default>, Kratos::Node<3ul, Kratos::Dof<double> >, boost::iterators::random_access_traversal_tag, Kratos::Node<3ul, Kratos::Dof<double> >&, long, true, true>> = {<boost::iterators::detail::iterator_facade_base<boost::iterators::indirect_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > >*, std::__cxx1998::vector<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, std::__debug::vector<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default>, Kratos::Node<3ul, Kratos::Dof<double> >, boost::iterators::random_access_traversal_tag, Kratos::Node<3ul, Kratos::Dof<double> >&, long, true, false>> = {<boost::iterators::detail::iterator_facade_base<boost::iterators::indirect_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > >*, std::__cxx1998::vector<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, std::__debug::vector<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::GlobalPointer<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default>, Kratos::Node<3ul, Kratos::Dof<double> >, boost::iterators::random_access_traversal_tag, Kratos::Node<3ul, Kratos::Dof<double> >&, long, false, false>> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, m_iterator = {mDataPointer = }}, <No data fields>}



        neigh_nodes = @0x124aa70: {_vptr.GlobalPointersVector = 0x7ffff0001500 <vtable for Kratos::GlobalPointersVector<Kratos::Node<3ul, Kratos::Dof<double> > >+16>, 
          mData = std::__debug::vector of length 4, capacity 10 = {{mDataPointer = 0x1248560}, {mDataPointer = 0x1248c40}, {mDataPointer = 0x1248980}, {mDataPointer = 0x1248450}}}
        it_node = {<boost::iterators::iterator_adaptor<boost::iterators::indirect_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >*, std::__cxx1998::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, std::__debug::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default>, __gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >*, std::__cxx1998::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, std::__debug::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, Kratos::Node<3ul, Kratos::Dof<double> >, boost::iterators::use_default, Kratos::Node<3ul, Kratos::Dof<double> >&, boost::iterators::use_default>> = {<boost::iterators::iterator_facade<boost::iterators::indirect_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >*, std::__cxx1998::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, std::__debug::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default>, Kratos::Node<3ul, Kratos::Dof<double> >, boost::iterators::random_access_traversal_tag, Kratos::Node<3ul, Kratos::Dof<double> >&, long>> = {<boost::iterators::detail::iterator_facade_base<boost::iterators::indirect_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >*, std::__cxx1998::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, std::__debug::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default>, Kratos::Node<3ul, Kratos::Dof<double> >, boost::iterators::random_access_traversal_tag, Kratos::Node<3ul, Kratos::Dof<double> >&, long, true, true>> = {<boost::iterators::detail::iterator_facade_base<boost::iterators::indirect_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >*, std::__cxx1998::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, std::__debug::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default>, Kratos::Node<3ul, Kratos::Dof<double> >, boost::iterators::random_access_traversal_tag, Kratos::Node<3ul, Kratos::Dof<double> >&, long, true, false>> = {<boost::iterators::detail::iterator_facade_base<boost::iterators::indirect_iterator<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >*, std::__cxx1998::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, std::__debug::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default, boost::iterators::use_default>, Kratos::Node<3ul, Kratos::Dof<double> >, boost::iterators::random_access_traversal_tag, Kratos::Node<3ul, Kratos::Dof<double> >&, long, false, false>> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, m_iterator = {px = }}, <No data fields>}
---Type <return> to continue, or q <return> to quit---
        neighbour_size = 2
        sigma_recovered = {<boost::numeric::ublas::vector_container<boost::numeric::ublas::vector<double, boost::numeric::ublas::unbounded_array<double, std::allocator<double> > > >> = {<boost::numeric::ublas::vector_expression<boost::numeric::ublas::vector<double, boost::numeric::ublas::unbounded_array<double, std::allocator<double> > > >> = {<boost::numeric::ublas::ublas_expression<boost::numeric::ublas::vector<double, boost::numeric::ublas::unbounded_array<double, std::allocator<double> > > >> = {<No data fields>}, 
              static complexity = <optimized out>}, static complexity = <optimized out>}, 
          data_ = {<boost::numeric::ublas::storage_array<boost::numeric::ublas::unbounded_array<double, std::allocator<double> > >> = {<boost::numeric::ublas::nonassignable_::nonassignable> = {<No data fields>}, <No data fields>}, alloc_ = {<__gnu_cxx::new_allocator<double>> = {<No data fields>}, <No data fields>}, size_ = 6, data_ = 0x124ccb0}}
        i_node = 4
        this = 0x7fffffffa1c0
        nodes_array = @0x1247f80: {
          _vptr.PointerVectorSet = 0x7ffff4822ef0 <vtable for Kratos::PointerVectorSet<Kratos::Node<3ul, Kratos::Dof<double> >, Kratos::IndexedObject, std::less<unsigned long>, std::equal_to<unsigned long>, Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::__debug::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >+16>, mData = std::__debug::vector of length 12, capacity 16 = {{px = 0x1248340}, {px = 0x1248450}, {
              px = 0x1248560}, {px = 0x1248670}, {px = 0x12487d0}, {px = 0x1248980}, {px = 0x1248ae0}, {px = 0x1248c40}, {px = 0x1248da0}, {px = 0x1248f90}, {px = 0x12490a0}, {
              px = 0x1249200}}, mSortedPartSize = 12, mMaxBufferSize = 1}
        num_nodes = 12
#7  0x00007ffff034fcbf in GOMP_parallel () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
No symbol table info available.
#8  0x00007fffed4c3184 in Kratos::SPRErrorProcess<3ul>::CalculateSuperconvergentStresses (this=0x7fffffffa1c0)
    at /home/philippb/software/Kratos_prod/applications/StructuralMechanicsApplication/custom_processes/spr_error_process.cpp:91
        __PRETTY_FUNCTION__ = "void Kratos::SPRErrorProcess<TDim>::CalculateSuperconvergentStresses() [with long unsigned int TDim = 3ul]"
        nodes_array = @0x1247f80: {
          _vptr.PointerVectorSet = 0x7ffff4822ef0 <vtable for Kratos::PointerVectorSet<Kratos::Node<3ul, Kratos::Dof<double> >, Kratos::IndexedObject, std::less<unsigned long>, std::equal_to<unsigned long>, Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::__debug::vector<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > >, std::allocator<Kratos::intrusive_ptr<Kratos::Node<3ul, Kratos::Dof<double> > > > > >+16>, mData = std::__debug::vector of length 12, capacity 16 = {{px = 0x1248340}, {px = 0x1248450}, {
              px = 0x1248560}, {px = 0x1248670}, {px = 0x12487d0}, {px = 0x1248980}, {px = 0x1248ae0}, {px = 0x1248c40}, {px = 0x1248da0}, {px = 0x1248f90}, {px = 0x12490a0}, {
              px = 0x1249200}}, mSortedPartSize = 12, mMaxBufferSize = 1}
        num_nodes = 12
#9  0x00007fffed4c2c0a in Kratos::SPRErrorProcess<3ul>::Execute (this=0x7fffffffa1c0)
    at /home/philippb/software/Kratos_prod/applications/StructuralMechanicsApplication/custom_processes/spr_error_process.cpp:59
        __PRETTY_FUNCTION__ = "void Kratos::SPRErrorProcess<TDim>::Execute() [with long unsigned int TDim = 3ul]"
        p_process_info = std::shared_ptr (count 2, weak 0) 0xad9fa0
        energy_norm_overall = 6.9533465006180183e-310
        error_overall = 5.4116393572800089e-317
        tolerance = 6.9533558066144646e-310
        denominator = 6.9533490878327426e-310
        coeff = 4.9406564584124654e-324
#10 0x00007fffee16e748 in Kratos::Testing::TestSPRErrorProcess2::TestFunction (this=0x10a4f90)
    at /home/philippb/software/Kratos_prod/applications/StructuralMechanicsApplication/tests/cpp_tests/test_spr_error_process.cpp:287
        current_model = {_vptr.Model = 0x7ffff482c408 <vtable for Kratos::Model+16>, mRootModelPartMap = std::__debug::map with 1 elements = {["Main"] = 
    std::unique_ptr<Kratos::ModelPart> containing 0x1246bd0}}
        this_model_part = @0x1246bd0: {<Kratos::DataValueContainer> = {_vptr.DataValueContainer = 0x7ffff482b448 <vtable for Kratos::ModelPart+16>, static OVERWRITE_OLD_VALUES = {
              _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 1, mFlags = 1}, static NOT_OVERWRITE_OLD_VALUES = {
              _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 1, mFlags = 0}, mData = std::__debug::vector of length 0, capacity 0}, <Kratos::Flags> = {
            _vptr.Flags = 0x7ffff482b4a8 <vtable for Kratos::ModelPart+112>, mIsDefined = 0, mFlags = 0}, static ALL_ENTITIES = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 1, mFlags = 1}, static NOT_ALL_ENTITIES = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 1, mFlags = 0}, static OVERWRITE_ENTITIES = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 2, mFlags = 2}, static NOT_OVERWRITE_ENTITIES = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 2, mFlags = 0}, mName = "Main", mBufferSize = 2, 
          mpProcessInfo = std::shared_ptr (count 2, weak 0) 0xad9fa0, mTables = {
            _vptr.PointerVectorMap = 0x7ffff482b5a0 <vtable for Kratos::PointerVectorMap<unsigned long, Kratos::Table<double, double, 1ul>, std::less<unsigned long>, std::shared_ptr<Kratos::Table<double, double, 1ul> >, std::__debug::vector<std::pair<unsigned long, std::shared_ptr<Kratos::Table<double, double, 1ul> > >, std::allocator<std::pair<unsigned long, std::shared_ptr<Kratos::Table<double, double, 1ul> > > > > >+16>, mData = std::__debug::vector of length 0, capacity 0, mSortedPartSize = 0, mMaxBufferSize = 100}, mMeshes = {
            _vptr.PointerVector = 0x7ffff4822d78 <vtable for Kratos::PointerVector<Kratos::Mesh<Kratos::Node<3ul, Kratos::Dof<double> >, Kratos::Properties, Kratos::Element, Kratos::Condition>, std::shared_ptr<Kratos::Mesh<Kratos::Node<3ul, Kratos::Dof<double> >, Kratos::Properties, Kratos::Element, Kratos::Condition> >, std::__debug::vector<std::shared_ptr<Kratos::Mesh<Kratos::Node<3ul, Kratos::Dof<double> >, Kratos::Properties, Kratos::Element, Kratos::Condition> >, std::allocator<std::shared_ptr<Kratos::Mesh<Kratos::Node<3ul, Kratos::Dof<double> >, Kratos::Properties, Kratos::Element, Kratos::Condition> > > > >+16>, mData = std::__debug::vector of length 1, capacity 1 = {std::shared_ptr (count 2, weak 0) 0x1248170}}, 
---Type <return> to continue, or q <return> to quit---
          mGeometries = {_vptr.GeometryContainer = 0x7ffff482b538 <vtable for Kratos::GeometryContainer<Kratos::Geometry<Kratos::Node<3ul, Kratos::Dof<double> > > >+16>, mGeometries = warning: RTTI symbol not found for class 'Kratos::PointerHashMapSet<Kratos::Geometry<Kratos::Node<3ul, Kratos::Dof<double> > >, std::hash<unsigned long>, Kratos::GeometryContainer<Kratos::Geometry<Kratos::Node<3ul, Kratos::Dof<double> > > >::GetGeometryId, std::shared_ptr<Kratos::Geometry<Kratos::Node<3ul, Kratos::Dof<double> > > > >'

{
              _vptr.PointerHashMapSet = 0x7ffff482b558 <vtable for Kratos::PointerHashMapSet<Kratos::Geometry<Kratos::Node<3ul, Kratos::Dof<double> > >, std::hash<unsigned long>, Kratos::GeometryContainer<Kratos::Geometry<Kratos::Node<3ul, Kratos::Dof<double> > > >::GetGeometryId, std::shared_ptr<Kratos::Geometry<Kratos::Node<3ul, Kratos::Dof<double> > > > >+16>, 
              mData = std::__debug::unordered_map with 0 elements}}, mpVariablesList = {px = 0x1246a90}, mpCommunicator = std::shared_ptr (count 1, weak 0) 0x1246e00, 
          mpParentModelPart = 0x0, mSubModelParts = {
            _vptr.PointerHashMapSet = 0x7ffff482b4f0 <vtable for Kratos::PointerHashMapSet<Kratos::ModelPart, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, Kratos::ModelPart::GetModelPartName, std::shared_ptr<Kratos::ModelPart> >+16>, mData = std::__debug::unordered_map with 0 elements}, mrModel = @0x7fffffffa1f0}
        process_info = @0xad9fa0: {<Kratos::DataValueContainer> = {_vptr.DataValueContainer = 0x7ffff4826cd0 <vtable for Kratos::ProcessInfo+16>, static OVERWRITE_OLD_VALUES = {
              _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 1, mFlags = 1}, static NOT_OVERWRITE_OLD_VALUES = {
              _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 1, mFlags = 0}, mData = std::__debug::vector of length 2, capacity 2 = {{
                first = 0x7ffff49165a0 <Kratos::STEP>, second = 0x120d230}, {first = 0x7ffff4916420 <Kratos::NL_ITERATION_NUMBER>, second = 0x1226ad0}}}, <Kratos::Flags> = {
            _vptr.Flags = 0x7ffff4826d18 <vtable for Kratos::ProcessInfo+88>, mIsDefined = 0, mFlags = 0}, mIsTimeStep = true, mSolutionStepIndex = 0, 
          mpPreviousSolutionStepInfo = std::shared_ptr (empty) 0x0, mpPreviousTimeStepInfo = std::shared_ptr (empty) 0x0}
        p_elem_prop = std::shared_ptr (count 14, weak 0) 0x1248230
        r_clone_cl = @0x11db9b0: {<Kratos::Flags> = {_vptr.Flags = 0x7fffef071fa0 <vtable for Kratos::ElasticIsotropic3D+16>, mIsDefined = 0, mFlags = 0}, 
          static USE_ELEMENT_PROVIDED_STRAIN = {_vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 1, mFlags = 1}, static NOT_USE_ELEMENT_PROVIDED_STRAIN = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 1, mFlags = 0}, static COMPUTE_STRESS = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 2, mFlags = 2}, static NOT_COMPUTE_STRESS = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 2, mFlags = 0}, static COMPUTE_CONSTITUTIVE_TENSOR = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 4, mFlags = 4}, static NOT_COMPUTE_CONSTITUTIVE_TENSOR = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 4, mFlags = 0}, static COMPUTE_STRAIN_ENERGY = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 8, mFlags = 8}, static NOT_COMPUTE_STRAIN_ENERGY = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 8, mFlags = 0}, static ISOCHORIC_TENSOR_ONLY = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 16, mFlags = 16}, static NOT_ISOCHORIC_TENSOR_ONLY = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 16, mFlags = 0}, static VOLUMETRIC_TENSOR_ONLY = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 32, mFlags = 32}, static NOT_VOLUMETRIC_TENSOR_ONLY = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 32, mFlags = 0}, static MECHANICAL_RESPONSE_ONLY = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 64, mFlags = 64}, static NOT_MECHANICAL_RESPONSE_ONLY = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 64, mFlags = 0}, static THERMAL_RESPONSE_ONLY = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 128, mFlags = 128}, static NOT_THERMAL_RESPONSE_ONLY = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 128, mFlags = 0}, static INCREMENTAL_STRAIN_MEASURE = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 256, mFlags = 256}, static NOT_INCREMENTAL_STRAIN_MEASURE = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 256, mFlags = 0}, static INITIALIZE_MATERIAL_RESPONSE = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 512, mFlags = 512}, static NOT_INITIALIZE_MATERIAL_RESPONSE = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 512, mFlags = 0}, static FINALIZE_MATERIAL_RESPONSE = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 1024, mFlags = 1024}, static NOT_FINALIZE_MATERIAL_RESPONSE = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 1024, mFlags = 0}, static FINITE_STRAINS = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 2, mFlags = 2}, static NOT_FINITE_STRAINS = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 2, mFlags = 0}, static INFINITESIMAL_STRAINS = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 4, mFlags = 4}, static NOT_INFINITESIMAL_STRAINS = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 4, mFlags = 0}, static THREE_DIMENSIONAL_LAW = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 8, mFlags = 8}, static NOT_THREE_DIMENSIONAL_LAW = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 8, mFlags = 0}, static PLANE_STRAIN_LAW = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 16, mFlags = 16}, static NOT_PLANE_STRAIN_LAW = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 16, mFlags = 0}, static PLANE_STRESS_LAW = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 32, mFlags = 32}, static NOT_PLANE_STRESS_LAW = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 32, mFlags = 0}, static AXISYMMETRIC_LAW = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 64, mFlags = 64}, static NOT_AXISYMMETRIC_LAW = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 64, mFlags = 0}, static U_P_LAW = {_vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, 
            mIsDefined = 128, mFlags = 128}, static NOT_U_P_LAW = {_vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 128, mFlags = 0}, static ISOTROPIC = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 256, mFlags = 256}, static NOT_ISOTROPIC = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 256, mFlags = 0}, static ANISOTROPIC = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 512, mFlags = 512}, static NOT_ANISOTROPIC = {
            _vptr.Flags = 0x7ffff4813018 <vtable for Kratos::Flags+16>, mIsDefined = 512, mFlags = 0}, static msIndexVoigt3D6C = {{0, 0}, {1, 1}, {2, 2}, {0, 1}, {1, 2}, {0, 2}}, 
          static msIndexVoigt2D4C = {{0, 0}, {1, 1}, {2, 2}, {0, 1}}, static msIndexVoigt2D3C = {{0, 0}, {1, 1}, {0, 1}}}
        p_this_law = std::shared_ptr (count 2, weak 0) 0x12393c0
---Type <return> to continue, or q <return> to quit---
        spr_process = {<Kratos::Process> = {<Kratos::Flags> = {_vptr.Flags = 0x7ffff003be38 <vtable for Kratos::SPRErrorProcess<3ul>+16>, mIsDefined = 0, 
              mFlags = 0}, <No data fields>}, static SigmaSize = <optimized out>, mThisModelPart = @0x1246bd0, mpStressVariable = 0x7ffff491e580 <Kratos::CAUCHY_STRESS_VECTOR>, 
          mEchoLevel = 0}
        __PRETTY_FUNCTION__ = "virtual void Kratos::Testing::TestSPRErrorProcess2::TestFunction()"
#11 0x00007ffff2e6811c in Kratos::Testing::TestCase::Run (this=0x10a4f90) at /home/philippb/software/Kratos_prod/kratos/testing/test_case.cpp:55

@pooyan-dadvand it seems like this is sth for you => looak at #4 ( I had to run the cpp-test TestSPRErrorProcess2 in the structural like 20 times until I got this error)
I used the following script:

from KratosMultiphysics import *
from KratosMultiphysics.StructuralMechanicsApplication import *

def run():
    Tester.SetVerbosity(Tester.Verbosity.TESTS_OUTPUTS) # TESTS_OUTPUTS
    Tester.RunTestCases("*TestSPRErrorProcess2*")

if __name__ == '__main__':
    run()

@philbucher
Copy link
Member Author

Sometimes the CI fails in FullDebug with this error in the C-Tests:
I don't know yet which test it is

terminate called after throwing an instance of 'Kratos::Exception'
  what():  Error: attempting to do a GetValue for: NEIGHBOUR_ELEMENTS variable #1757707264 unfortunately the variable is not in the database and the operations is not threadsafe (this function is being called from within a parallel region)

in kratos/containers/data_value_container.h:219:TDataType& DataValueContainer::GetValue(const Variable<TDataType>&) [with TDataType = GlobalPointersVector<Element>]`

@loumalouomega
Copy link
Member

Sometimes the CI fails in FullDebug with this error in the C-Tests:
I don't know yet which test it is

terminate called after throwing an instance of 'Kratos::Exception'
  what():  Error: attempting to do a GetValue for: NEIGHBOUR_ELEMENTS variable #1757707264 unfortunately the variable is not in the database and the operations is not threadsafe (this function is being called from within a parallel region)

in kratos/containers/data_value_container.h:219:TDataType& DataValueContainer::GetValue(const Variable<TDataType>&) [with TDataType = GlobalPointersVector<Element>]`

If it is during the structural test it could be in the case of the SPR test, which consider the neighbour elements. This is a OMP thing, and can be solved

@rubenzorrilla
Copy link
Member

I tried to get the error multiple times (in FullDebug and with the GLIBCXX_DEBUG flag ON) and it doesn't raise...

I guess it is related to the neighbours in the old Ausas embedded element. At this point I'll wait to #6575 to be merged as this uses the new methods in #4947.

@philbucher
Copy link
Member Author

ok
So #6575 closes this?

@rubenzorrilla
Copy link
Member

I'd keep it to see what happens...

@philbucher
Copy link
Member Author

see #6807 (comment)

@philbucher
Copy link
Member Author

@loumalouomega it seems like the SolidShell Element has the same problem as you solved in #6460
I think this causes the occasional failures in the CI
@rubenzorrilla can you please describe what should be done in order to fix it?

@loumalouomega
Copy link
Member

@loumalouomega it seems like the SolidShell Element has the same problem as you solved in #6460

Huuum, can your paste me the error here?

@philbucher
Copy link
Member Author

I could never reproduce it 😅 even though I tried hard!

I think @rubenzorrilla could

@rubenzorrilla
Copy link
Member

@loumalouomega it seems like the SolidShell Element has the same problem as you solved in #6460

Huuum, can your paste me the error here?

 Running StructuralMechanicsApplication tests
terminate called after throwing an instance of 'Kratos::Exception'
  what():  Error: attempting to do a GetValue for: NEIGHBOUR_ELEMENTS variable #1757707264NEIGHBOUR_ELEMENTS variable #1757707264 #1757707264 unfortunately the variable is not in the database and the operations is not threadsafe (this function is being called from within a parallel region)

in kratos/containers/data_value_container.h:219:TDataType &DataValueContainer::GetValue(const Variable<TDataType> &) [TDataType = GlobalPointersVector<Element>]

/__w/Kratos/Kratos/bin/FullDebug/applications//StructuralMechanicsApplication/tests/test_StructuralMechanicsApplication.py
Completed StructuralMechanicsApplication tests with exit code 1!

Here it is.

@rubenzorrilla
Copy link
Member

rubenzorrilla commented May 15, 2020

I think that the problem is that the NEIGHBOUR_ELEMENTS variable is not initialized. I'd do a SetValue(NEIGHBOUR_ELEMENTS, aux_init); in the Initialize method of the element to allocate it.

(I experienced the same problem with the ELEMENTAL_DISTANCES).

@RiccardoRossi
Copy link
Member

ping, is this still not solved?

@philbucher
Copy link
Member Author

no
ping @loumalouomega this still crashes the CI

@loumalouomega
Copy link
Member

no
ping @loumalouomega this still crashes the CI

I cannot reproduce it

imagen

@philbucher
Copy link
Member Author

I think that the problem is that the NEIGHBOUR_ELEMENTS variable is not initialized. I'd do a SetValue(NEIGHBOUR_ELEMENTS, aux_init); in the Initialize method of the element to allocate it.

(I experienced the same problem with the ELEMENTAL_DISTANCES).

Neither can I, but @rubenzorrilla could

Can you just do what he suggested? Then hopefully it will be solved

@loumalouomega
Copy link
Member

OK

loumalouomega added a commit that referenced this issue May 26, 2020
Fixes #6431

Removed unused NEIGHBOUR_ELEMENTS from the check, and improves NEIGHBOUR_NODES check
@rubenzorrilla
Copy link
Member

Unfortunately I couldn't. The error was thrown by the gcc FullDebug compilation in the CI. In any case, I think that what I post above should fix it.

@loumalouomega
Copy link
Member

loumalouomega commented May 26, 2020 via email

loumalouomega added a commit that referenced this issue May 26, 2020
…heck-sprism

[StructuralMechanicsApplication] Fix #6431
ddiezrod pushed a commit that referenced this issue Jan 12, 2023
Fixes #6431

Removed unused NEIGHBOUR_ELEMENTS from the check, and improves NEIGHBOUR_NODES check
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants