[
https://issues.apache.org/jira/browse/KUDU-3218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Grant Henke updated KUDU-3218:
------------------------------
Description:
When running the client_symbol-test on Centos 7 with devtoolset-8 the test
fails with the following bad symbols:
{code:java}
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()'{code}
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]
was:
When running the client_symbol-test on Centos 7 with devtoolset-8 the test
fails with the following bad symbols:
{code:java}
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()'{code}
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
> client_symbol-test fails on Centos 7 with devtoolset-8
> ------------------------------------------------------
>
> Key: KUDU-3218
> URL: https://issues.apache.org/jira/browse/KUDU-3218
> Project: Kudu
> Issue Type: Bug
> Components: client
> Affects Versions: 1.14.0
> Reporter: Grant Henke
> Assignee: Grant Henke
> Priority: Major
>
> When running the client_symbol-test on Centos 7 with devtoolset-8 the test
> fails with the following bad symbols:
> {code:java}
> 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()'{code}
> 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]
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)