Uploaded image for project: 'Kudu'
  1. Kudu
  2. KUDU-3218

client_symbol-test fails on Centos 7 with devtoolset-8

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.14.0
    • None
    • client
    • None

    Description

      When running the client_symbol-test on  Centos 7 with devtoolset-8 the test fails with the following bad symbols: 

      Found bad symbol 'operator delete[](void*, unsigned long)'
      Found bad symbol 'operator delete(void*, unsigned long)'
      Found bad symbol 'transaction clone for std::logic_error::what() const'
      Found bad symbol 'transaction clone for std::runtime_error::what() const'
      Found bad symbol 'transaction clone for std::logic_error::logic_error(char const*)'
      Found bad symbol 'transaction clone for std::logic_error::logic_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
      Found bad symbol 'transaction clone for std::logic_error::logic_error(char const*)'
      Found bad symbol 'transaction clone for std::logic_error::logic_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
      Found bad symbol 'transaction clone for std::logic_error::~logic_error()'
      Found bad symbol 'transaction clone for std::logic_error::~logic_error()'
      Found bad symbol 'transaction clone for std::logic_error::~logic_error()'
      Found bad symbol 'transaction clone for std::range_error::range_error(char const*)'
      Found bad symbol 'transaction clone for std::range_error::range_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
      Found bad symbol 'transaction clone for std::range_error::range_error(char const*)'
      Found bad symbol 'transaction clone for std::range_error::range_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
      Found bad symbol 'transaction clone for std::range_error::~range_error()'
      Found bad symbol 'transaction clone for std::range_error::~range_error()'
      Found bad symbol 'transaction clone for std::range_error::~range_error()'
      Found bad symbol 'transaction clone for std::domain_error::domain_error(char const*)'
      Found bad symbol 'transaction clone for std::domain_error::domain_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
      Found bad symbol 'transaction clone for std::domain_error::domain_error(char const*)'
      Found bad symbol 'transaction clone for std::domain_error::domain_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
      Found bad symbol 'transaction clone for std::domain_error::~domain_error()'
      Found bad symbol 'transaction clone for std::domain_error::~domain_error()'
      Found bad symbol 'transaction clone for std::domain_error::~domain_error()'
      Found bad symbol 'transaction clone for std::length_error::length_error(char const*)'
      Found bad symbol 'transaction clone for std::length_error::length_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
      Found bad symbol 'transaction clone for std::length_error::length_error(char const*)'
      Found bad symbol 'transaction clone for std::length_error::length_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
      Found bad symbol 'transaction clone for std::length_error::~length_error()'
      Found bad symbol 'transaction clone for std::length_error::~length_error()'
      Found bad symbol 'transaction clone for std::length_error::~length_error()'
      Found bad symbol 'transaction clone for std::out_of_range::out_of_range(char const*)'
      Found bad symbol 'transaction clone for std::out_of_range::out_of_range(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
      Found bad symbol 'transaction clone for std::out_of_range::out_of_range(char const*)'
      Found bad symbol 'transaction clone for std::out_of_range::out_of_range(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
      Found bad symbol 'transaction clone for std::out_of_range::~out_of_range()'
      Found bad symbol 'transaction clone for std::out_of_range::~out_of_range()'
      Found bad symbol 'transaction clone for std::out_of_range::~out_of_range()'
      Found bad symbol 'transaction clone for std::runtime_error::runtime_error(char const*)'
      Found bad symbol 'transaction clone for std::runtime_error::runtime_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
      Found bad symbol 'transaction clone for std::runtime_error::runtime_error(char const*)'
      Found bad symbol 'transaction clone for std::runtime_error::runtime_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
      Found bad symbol 'transaction clone for std::runtime_error::~runtime_error()'
      Found bad symbol 'transaction clone for std::runtime_error::~runtime_error()'
      Found bad symbol 'transaction clone for std::runtime_error::~runtime_error()'
      Found bad symbol 'transaction clone for std::overflow_error::overflow_error(char const*)'
      Found bad symbol 'transaction clone for std::overflow_error::overflow_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
      Found bad symbol 'transaction clone for std::overflow_error::overflow_error(char const*)'
      Found bad symbol 'transaction clone for std::overflow_error::overflow_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
      Found bad symbol 'transaction clone for std::overflow_error::~overflow_error()'
      Found bad symbol 'transaction clone for std::overflow_error::~overflow_error()'
      Found bad symbol 'transaction clone for std::overflow_error::~overflow_error()'
      Found bad symbol 'transaction clone for std::underflow_error::underflow_error(char const*)'
      Found bad symbol 'transaction clone for std::underflow_error::underflow_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
      Found bad symbol 'transaction clone for std::underflow_error::underflow_error(char const*)'
      Found bad symbol 'transaction clone for std::underflow_error::underflow_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
      Found bad symbol 'transaction clone for std::underflow_error::~underflow_error()'
      Found bad symbol 'transaction clone for std::underflow_error::~underflow_error()'
      Found bad symbol 'transaction clone for std::underflow_error::~underflow_error()'
      Found bad symbol 'transaction clone for std::invalid_argument::invalid_argument(char const*)'
      Found bad symbol 'transaction clone for std::invalid_argument::invalid_argument(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
      Found bad symbol 'transaction clone for std::invalid_argument::invalid_argument(char const*)'
      Found bad symbol 'transaction clone for std::invalid_argument::invalid_argument(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
      Found bad symbol 'transaction clone for std::invalid_argument::~invalid_argument()'
      Found bad symbol 'transaction clone for std::invalid_argument::~invalid_argument()'
      Found bad symbol 'transaction clone for std::invalid_argument::~invalid_argument()'

      It appears that these symbols are a result of transactional memory features added to GCC and used by default in delete[] and some exceptions.

      In the client we use delete[] in the KuduValue destructor and I don't think we directly use any of the exceptions directly. 

      This failure also occurs on devtoolset-7 and devtoolset-9, but does not occur if no devtoolset is used.

       

      https://en.cppreference.com/w/cpp/language/transactional_memory

       

      Attachments

        Activity

          People

            Unassigned Unassigned
            granthenke Grant Henke
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: