[ https://issues.apache.org/jira/browse/KUDU-3218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17242761#comment-17242761 ]
ASF subversion and git services commented on KUDU-3218: ------------------------------------------------------- Commit bd09924aa43bdb9701508d673fa088eb4f98217c in kudu's branch refs/heads/master from Grant Henke [ https://gitbox.apache.org/repos/asf?p=kudu.git;h=bd09924 ] [KUDU-3218] Ignore transaction clone symbols coming from std To unbreak Centos 7 test runs this patch ignores the transaction clone symbols coming from `std::` in the client_symbol-test. A TODO remains to investigate further. Change-Id: I2c3b95a87e404ffffff4bff7882020d0b92a585a Reviewed-on: http://gerrit.cloudera.org:8080/16810 Tested-by: Kudu Jenkins Reviewed-by: Alexey Serbin <aser...@cloudera.com> > 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)