eProsima / Fast-DDS

The most complete DDS - Proven: Plenty of success cases. Looking for commercial support? Contact info@eprosima.com
https://eprosima.com
Apache License 2.0
2.16k stars 765 forks source link

'may be used uninitialized' compile error in TypeObjectRegistry #5277

Open owillebo opened 6 days ago

owillebo commented 6 days ago

Is there an already existing issue for this?

Expected behavior

Build succeeds.

Current behavior

Build fails, with the following output;

Starting >>> fastcdr
Starting >>> foonathan_memory_vendor
Finished <<< fastcdr [3.46s]
--- stderr: foonathan_memory_vendor
Cloning into 'foo_mem-ext'...
HEAD is now at 0f07757 Release 0.7-3
---
Finished <<< foonathan_memory_vendor [16.3s]
Starting >>> fastdds
--- stderr: fastdds
In file included from /usr/include/c++/12/string:53,
                 from /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/include/fastdds/dds/xtypes/type_representation/TypeObjectUtils.hpp:23,
                 from /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/src/cpp/fastdds/xtypes/type_representation/TypeObjectUtils.cpp:15:
In member function ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::pointer std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_data() const [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’,
    inlined from ‘bool std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_is_local() const [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:274:23,
    inlined from ‘void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_dispose() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:285:18,
    inlined from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::~basic_string() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:795:19,
    inlined from ‘eprosima::fastdds::dds::xtypes::AppliedVerbatimAnnotation::~AppliedVerbatimAnnotation()’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/include/fastdds/dds/xtypes/type_representation/detail/dds_xtypes_typeobject.hpp:6528:5,
    inlined from ‘eprosima::fastcdr::detail::optional_storage<T, <template-parameter-1-2> >::~optional_storage() [with T = eprosima::fastdds::dds::xtypes::AppliedVerbatimAnnotation; <template-parameter-1-2> = void]’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/install/fastcdr/include/fastcdr/xcdr/detail/optional.hpp:42:20,
    inlined from ‘eprosima::fastcdr::optional<T>::~optional() [with T = eprosima::fastdds::dds::xtypes::AppliedVerbatimAnnotation]’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/install/fastcdr/include/fastcdr/xcdr/optional.hpp:88:5,
    inlined from ‘eprosima::fastdds::dds::xtypes::AppliedBuiltinTypeAnnotations::AppliedBuiltinTypeAnnotations(const eprosima::fastdds::dds::xtypes::AppliedBuiltinTypeAnnotations&)’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/include/fastdds/dds/xtypes/type_representation/detail/dds_xtypes_typeobject.hpp:7981:5,
    inlined from ‘eprosima::fastcdr::optional<T>& eprosima::fastcdr::optional<T>::operator=(const eprosima::fastcdr::optional<T>&) [with T = eprosima::fastdds::dds::xtypes::AppliedBuiltinTypeAnnotations]’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/install/fastcdr/include/fastcdr/xcdr/optional.hpp:209:13,
    inlined from ‘eprosima::fastdds::dds::xtypes::CompleteTypeDetail::CompleteTypeDetail(const eprosima::fastdds::dds::xtypes::CompleteTypeDetail&)’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/include/fastdds/dds/xtypes/type_representation/detail/dds_xtypes_typeobject.hpp:8207:39,
    inlined from ‘eprosima::fastcdr::optional<T>& eprosima::fastcdr::optional<T>::operator=(const eprosima::fastcdr::optional<T>&) [with T = eprosima::fastdds::dds::xtypes::CompleteTypeDetail]’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/install/fastcdr/include/fastcdr/xcdr/optional.hpp:209:13,
    inlined from ‘eprosima::fastdds::dds::xtypes::CompleteCollectionHeader& eprosima::fastdds::dds::xtypes::CompleteCollectionHeader::operator=(const eprosima::fastdds::dds::xtypes::CompleteCollectionHeader&)’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/include/fastdds/dds/xtypes/type_representation/detail/dds_xtypes_typeobject.hpp:14597:34,
    inlined from ‘eprosima::fastdds::dds::xtypes::CompleteMapType& eprosima::fastdds::dds::xtypes::CompleteMapType::operator=(const eprosima::fastdds::dds::xtypes::CompleteMapType&)’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/include/fastdds/dds/xtypes/type_representation/detail/dds_xtypes_typeobject.hpp:16270:34,
    inlined from ‘void eprosima::fastdds::dds::xtypes::CompleteTypeObject::map_type(const eprosima::fastdds::dds::xtypes::CompleteMapType&)’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/include/fastdds/dds/xtypes/type_representation/detail/dds_xtypes_typeobject.hpp:21508:23,
    inlined from ‘static eprosima::fastdds::dds::xtypes::ReturnCode_t eprosima::fastdds::dds::xtypes::TypeObjectUtils::build_and_register_map_type_object(const eprosima::fastdds::dds::xtypes::CompleteMapType&, const std::string&)’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/src/cpp/fastdds/xtypes/type_representation/TypeObjectUtils.cpp:1776:25:
/usr/include/c++/12/bits/basic_string.h:234:28: error: ‘((const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)((char*)&type_object + offsetof(eprosima::fastdds::dds::xtypes::CompleteTypeObject, eprosima::fastdds::dds::xtypes::CompleteTypeObject::<unnamed>) + 16))[3].std::__cxx11::basic_string<char>::_M_dataplus.std::__cxx11::basic_string<char>::_Alloc_hider::_M_p’ may be used uninitialized [-Werror=maybe-uninitialized]
  234 |       { return _M_dataplus._M_p; }
      |                            ^~~~
/home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/src/cpp/fastdds/xtypes/type_representation/TypeObjectUtils.cpp: In static member function ‘static eprosima::fastdds::dds::xtypes::ReturnCode_t eprosima::fastdds::dds::xtypes::TypeObjectUtils::build_and_register_map_type_object(const eprosima::fastdds::dds::xtypes::CompleteMapType&, const std::string&)’:
/home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/src/cpp/fastdds/xtypes/type_representation/TypeObjectUtils.cpp:1775:24: note: ‘type_object’ declared here
 1775 |     CompleteTypeObject type_object;
      |                        ^~~~~~~~~~~
In member function ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::pointer std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_data() const [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’,
    inlined from ‘bool std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_is_local() const [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:274:23,
    inlined from ‘void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_dispose() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:285:18,
    inlined from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::~basic_string() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:795:19,
    inlined from ‘eprosima::fastdds::dds::xtypes::AppliedVerbatimAnnotation::~AppliedVerbatimAnnotation()’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/include/fastdds/dds/xtypes/type_representation/detail/dds_xtypes_typeobject.hpp:6528:5,
    inlined from ‘eprosima::fastcdr::detail::optional_storage<T, <template-parameter-1-2> >::~optional_storage() [with T = eprosima::fastdds::dds::xtypes::AppliedVerbatimAnnotation; <template-parameter-1-2> = void]’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/install/fastcdr/include/fastcdr/xcdr/detail/optional.hpp:42:20,
    inlined from ‘eprosima::fastcdr::optional<T>::~optional() [with T = eprosima::fastdds::dds::xtypes::AppliedVerbatimAnnotation]’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/install/fastcdr/include/fastcdr/xcdr/optional.hpp:88:5,
    inlined from ‘eprosima::fastdds::dds::xtypes::AppliedBuiltinTypeAnnotations::AppliedBuiltinTypeAnnotations(const eprosima::fastdds::dds::xtypes::AppliedBuiltinTypeAnnotations&)’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/include/fastdds/dds/xtypes/type_representation/detail/dds_xtypes_typeobject.hpp:7981:5,
    inlined from ‘eprosima::fastcdr::optional<T>& eprosima::fastcdr::optional<T>::operator=(const eprosima::fastcdr::optional<T>&) [with T = eprosima::fastdds::dds::xtypes::AppliedBuiltinTypeAnnotations]’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/install/fastcdr/include/fastcdr/xcdr/optional.hpp:209:13,
    inlined from ‘eprosima::fastdds::dds::xtypes::CompleteTypeDetail::CompleteTypeDetail(const eprosima::fastdds::dds::xtypes::CompleteTypeDetail&)’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/include/fastdds/dds/xtypes/type_representation/detail/dds_xtypes_typeobject.hpp:8207:39,
    inlined from ‘eprosima::fastcdr::optional<T>& eprosima::fastcdr::optional<T>::operator=(const eprosima::fastcdr::optional<T>&) [with T = eprosima::fastdds::dds::xtypes::CompleteTypeDetail]’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/install/fastcdr/include/fastcdr/xcdr/optional.hpp:209:13,
    inlined from ‘eprosima::fastdds::dds::xtypes::CompleteCollectionHeader& eprosima::fastdds::dds::xtypes::CompleteCollectionHeader::operator=(const eprosima::fastdds::dds::xtypes::CompleteCollectionHeader&)’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/include/fastdds/dds/xtypes/type_representation/detail/dds_xtypes_typeobject.hpp:14597:34,
    inlined from ‘eprosima::fastdds::dds::xtypes::CompleteSequenceType& eprosima::fastdds::dds::xtypes::CompleteSequenceType::operator=(const eprosima::fastdds::dds::xtypes::CompleteSequenceType&)’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/include/fastdds/dds/xtypes/type_representation/detail/dds_xtypes_typeobject.hpp:14913:34,
    inlined from ‘void eprosima::fastdds::dds::xtypes::CompleteTypeObject::sequence_type(const eprosima::fastdds::dds::xtypes::CompleteSequenceType&)’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/include/fastdds/dds/xtypes/type_representation/detail/dds_xtypes_typeobject.hpp:21402:28,
    inlined from ‘static eprosima::fastdds::dds::xtypes::ReturnCode_t eprosima::fastdds::dds::xtypes::TypeObjectUtils::build_and_register_sequence_type_object(const eprosima::fastdds::dds::xtypes::CompleteSequenceType&, const std::string&)’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/src/cpp/fastdds/xtypes/type_representation/TypeObjectUtils.cpp:1750:30:
/usr/include/c++/12/bits/basic_string.h:234:28: error: ‘((const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)((char*)&type_object + offsetof(eprosima::fastdds::dds::xtypes::CompleteTypeObject, eprosima::fastdds::dds::xtypes::CompleteTypeObject::<unnamed>) + 16))[3].std::__cxx11::basic_string<char>::_M_dataplus.std::__cxx11::basic_string<char>::_Alloc_hider::_M_p’ may be used uninitialized [-Werror=maybe-uninitialized]
  234 |       { return _M_dataplus._M_p; }
      |                            ^~~~
/home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/src/cpp/fastdds/xtypes/type_representation/TypeObjectUtils.cpp: In static member function ‘static eprosima::fastdds::dds::xtypes::ReturnCode_t eprosima::fastdds::dds::xtypes::TypeObjectUtils::build_and_register_sequence_type_object(const eprosima::fastdds::dds::xtypes::CompleteSequenceType&, const std::string&)’:
/home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/src/cpp/fastdds/xtypes/type_representation/TypeObjectUtils.cpp:1749:24: note: ‘type_object’ declared here
 1749 |     CompleteTypeObject type_object;
      |                        ^~~~~~~~~~~
In member function ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::pointer std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_data() const [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’,
    inlined from ‘bool std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_is_local() const [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:274:23,
    inlined from ‘void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_dispose() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:285:18,
    inlined from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::~basic_string() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:795:19,
    inlined from ‘eprosima::fastdds::dds::xtypes::AppliedVerbatimAnnotation::~AppliedVerbatimAnnotation()’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/include/fastdds/dds/xtypes/type_representation/detail/dds_xtypes_typeobject.hpp:6528:5,
    inlined from ‘eprosima::fastcdr::detail::optional_storage<T, <template-parameter-1-2> >::~optional_storage() [with T = eprosima::fastdds::dds::xtypes::AppliedVerbatimAnnotation; <template-parameter-1-2> = void]’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/install/fastcdr/include/fastcdr/xcdr/detail/optional.hpp:42:20,
    inlined from ‘eprosima::fastcdr::optional<T>::~optional() [with T = eprosima::fastdds::dds::xtypes::AppliedVerbatimAnnotation]’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/install/fastcdr/include/fastcdr/xcdr/optional.hpp:88:5,
    inlined from ‘eprosima::fastdds::dds::xtypes::AppliedBuiltinTypeAnnotations::AppliedBuiltinTypeAnnotations(const eprosima::fastdds::dds::xtypes::AppliedBuiltinTypeAnnotations&)’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/include/fastdds/dds/xtypes/type_representation/detail/dds_xtypes_typeobject.hpp:7981:5,
    inlined from ‘eprosima::fastcdr::optional<T>& eprosima::fastcdr::optional<T>::operator=(const eprosima::fastcdr::optional<T>&) [with T = eprosima::fastdds::dds::xtypes::AppliedBuiltinTypeAnnotations]’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/install/fastcdr/include/fastcdr/xcdr/optional.hpp:209:13,
    inlined from ‘eprosima::fastdds::dds::xtypes::CompleteDiscriminatorMember& eprosima::fastdds::dds::xtypes::CompleteDiscriminatorMember::operator=(const eprosima::fastdds::dds::xtypes::CompleteDiscriminatorMember&)’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/include/fastdds/dds/xtypes/type_representation/detail/dds_xtypes_typeobject.hpp:10088:39,
    inlined from ‘eprosima::fastdds::dds::xtypes::CompleteUnionType& eprosima::fastdds::dds::xtypes::CompleteUnionType::operator=(const eprosima::fastdds::dds::xtypes::CompleteUnionType&)’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/include/fastdds/dds/xtypes/type_representation/detail/dds_xtypes_typeobject.hpp:10719:41,
    inlined from ‘void eprosima::fastdds::dds::xtypes::CompleteTypeObject::union_type(const eprosima::fastdds::dds::xtypes::CompleteUnionType&)’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/include/fastdds/dds/xtypes/type_representation/detail/dds_xtypes_typeobject.hpp:21296:25,
    inlined from ‘static eprosima::fastdds::dds::xtypes::ReturnCode_t eprosima::fastdds::dds::xtypes::TypeObjectUtils::build_and_register_union_type_object(const eprosima::fastdds::dds::xtypes::CompleteUnionType&, const std::string&, eprosima::fastdds::dds::xtypes::TypeIdentifierPair&)’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/src/cpp/fastdds/xtypes/type_representation/TypeObjectUtils.cpp:1725:27:
/usr/include/c++/12/bits/basic_string.h:234:28: error: ‘((const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)((char*)&type_object + offsetof(eprosima::fastdds::dds::xtypes::CompleteTypeObject, eprosima::fastdds::dds::xtypes::CompleteTypeObject::<unnamed>)))[21].std::__cxx11::basic_string<char>::_M_dataplus.std::__cxx11::basic_string<char>::_Alloc_hider::_M_p’ may be used uninitialized [-Werror=maybe-uninitialized]
  234 |       { return _M_dataplus._M_p; }
      |                            ^~~~
/home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/src/cpp/fastdds/xtypes/type_representation/TypeObjectUtils.cpp: In static member function ‘static eprosima::fastdds::dds::xtypes::ReturnCode_t eprosima::fastdds::dds::xtypes::TypeObjectUtils::build_and_register_union_type_object(const eprosima::fastdds::dds::xtypes::CompleteUnionType&, const std::string&, eprosima::fastdds::dds::xtypes::TypeIdentifierPair&)’:
/home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/src/cpp/fastdds/xtypes/type_representation/TypeObjectUtils.cpp:1724:24: note: ‘type_object’ declared here
 1724 |     CompleteTypeObject type_object;
      |                        ^~~~~~~~~~~
cc1plus: all warnings being treated as errors
gmake[2]: *** [src/cpp/CMakeFiles/fastdds.dir/build.make:1168: src/cpp/CMakeFiles/fastdds.dir/fastdds/xtypes/type_representation/TypeObjectUtils.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
In file included from /usr/include/c++/12/string:53,
                 from /usr/include/c++/12/stdexcept:39,
                 from /usr/include/c++/12/system_error:41,
                 from /usr/include/c++/12/mutex:41,
                 from /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/src/cpp/fastdds/xtypes/type_representation/TypeObjectRegistry.hpp:23,
                 from /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/src/cpp/fastdds/xtypes/type_representation/TypeObjectRegistry.cpp:15:
In member function ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::pointer std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_data() const [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’,
    inlined from ‘bool std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_is_local() const [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:274:23,
    inlined from ‘void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_dispose() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:285:18,
    inlined from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::~basic_string() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:795:19,
    inlined from ‘eprosima::fastdds::dds::xtypes::AppliedVerbatimAnnotation::~AppliedVerbatimAnnotation()’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/include/fastdds/dds/xtypes/type_representation/detail/dds_xtypes_typeobject.hpp:6528:5,
    inlined from ‘eprosima::fastcdr::detail::optional_storage<T, <template-parameter-1-2> >::~optional_storage() [with T = eprosima::fastdds::dds::xtypes::AppliedVerbatimAnnotation; <template-parameter-1-2> = void]’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/install/fastcdr/include/fastcdr/xcdr/detail/optional.hpp:42:20,
    inlined from ‘eprosima::fastcdr::optional<T>::~optional() [with T = eprosima::fastdds::dds::xtypes::AppliedVerbatimAnnotation]’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/install/fastcdr/include/fastcdr/xcdr/optional.hpp:88:5,
    inlined from ‘eprosima::fastdds::dds::xtypes::AppliedBuiltinTypeAnnotations::AppliedBuiltinTypeAnnotations(const eprosima::fastdds::dds::xtypes::AppliedBuiltinTypeAnnotations&)’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/include/fastdds/dds/xtypes/type_representation/detail/dds_xtypes_typeobject.hpp:7981:5,
    inlined from ‘eprosima::fastcdr::optional<T>& eprosima::fastcdr::optional<T>::operator=(const eprosima::fastcdr::optional<T>&) [with T = eprosima::fastdds::dds::xtypes::AppliedBuiltinTypeAnnotations]’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/install/fastcdr/include/fastcdr/xcdr/optional.hpp:209:13,
    inlined from ‘eprosima::fastdds::dds::xtypes::CompleteDiscriminatorMember& eprosima::fastdds::dds::xtypes::CompleteDiscriminatorMember::operator=(const eprosima::fastdds::dds::xtypes::CompleteDiscriminatorMember&)’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/include/fastdds/dds/xtypes/type_representation/detail/dds_xtypes_typeobject.hpp:10088:39,
    inlined from ‘eprosima::fastdds::dds::xtypes::CompleteUnionType& eprosima::fastdds::dds::xtypes::CompleteUnionType::operator=(const eprosima::fastdds::dds::xtypes::CompleteUnionType&)’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/include/fastdds/dds/xtypes/type_representation/detail/dds_xtypes_typeobject.hpp:10719:41,
    inlined from ‘void eprosima::fastdds::dds::xtypes::CompleteTypeObject::union_type(const eprosima::fastdds::dds::xtypes::CompleteUnionType&)’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/include/fastdds/dds/xtypes/type_representation/detail/dds_xtypes_typeobject.hpp:21296:25,
    inlined from ‘eprosima::fastdds::dds::xtypes::ReturnCode_t eprosima::fastdds::dds::xtypes::TypeObjectRegistry::register_typeobject_w_union_dynamic_type(const eprosima::fastdds::dds::traits<eprosima::fastdds::dds::DynamicTypeImpl>::ref_type&, eprosima::fastdds::dds::xtypes::TypeIdentifierPair&)’ at /home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/src/cpp/fastdds/xtypes/type_representation/TypeObjectRegistry.cpp:1859:35:
/usr/include/c++/12/bits/basic_string.h:234:28: error: ‘((const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)((char*)&complete_typeobject + offsetof(eprosima::fastdds::dds::xtypes::CompleteTypeObject, eprosima::fastdds::dds::xtypes::CompleteTypeObject::<unnamed>)))[21].std::__cxx11::basic_string<char>::_M_dataplus.std::__cxx11::basic_string<char>::_Alloc_hider::_M_p’ may be used uninitialized [-Werror=maybe-uninitialized]
  234 |       { return _M_dataplus._M_p; }
      |                            ^~~~
/home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/src/cpp/fastdds/xtypes/type_representation/TypeObjectRegistry.cpp: In member function ‘eprosima::fastdds::dds::xtypes::ReturnCode_t eprosima::fastdds::dds::xtypes::TypeObjectRegistry::register_typeobject_w_union_dynamic_type(const eprosima::fastdds::dds::traits<eprosima::fastdds::dds::DynamicTypeImpl>::ref_type&, eprosima::fastdds::dds::xtypes::TypeIdentifierPair&)’:
/home/willeboordseo/rtps/eProsima/Fast-DDS/src/fastdds/src/cpp/fastdds/xtypes/type_representation/TypeObjectRegistry.cpp:1858:24: note: ‘complete_typeobject’ declared here
 1858 |     CompleteTypeObject complete_typeobject;
      |                        ^~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
gmake[2]: *** [src/cpp/CMakeFiles/fastdds.dir/build.make:1154: src/cpp/CMakeFiles/fastdds.dir/fastdds/xtypes/type_representation/TypeObjectRegistry.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:976: src/cpp/CMakeFiles/fastdds.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed   <<< fastdds [1min 2s, exited with code 2]
[Processing: fastdds]
[Processing: fastdds]

Summary: 2 packages finished [1min 19s]
  1 package failed: fastdds
  2 packages had stderr output: fastdds foonathan_memory_vendor

Steps to reproduce

colcon build --packages-up-to fastdds

Fast DDS version/commit

repositories:
    foonathan_memory_vendor:
        type: git
        url: https://github.com/eProsima/foonathan_memory_vendor.git
        version: v1.3.1
    fastcdr:
        type: git
        url: https://github.com/eProsima/Fast-CDR.git
        version: v2.2.4
    fastdds:
        type: git
        url: https://github.com/eProsima/Fast-DDS.git
        version: v3.0.1
    fastddsgen:
        type: git
        url: https://github.com/eProsima/Fast-DDS-Gen.git
        version: v4.0.1

Platform/Architecture

Other. Please specify in Additional context section.

Transport layer

Default configuration, UDPv4 & SHM

Additional context

gcc (Debian 12.2.0-14) 12.2.0

cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 12 (bookworm)" NAME="Debian GNU/Linux" VERSION_ID="12" VERSION="12 (bookworm)" VERSION_CODENAME=bookworm ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/"

XML configuration file

NA

Relevant log output

NA

Network traffic capture

NA

owillebo commented 6 days ago

If I add src/fastdds/CMakeLists.txt as follows then the build succeeds.

image