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

cmake: partial revert of BOOST_USE_VALGRIND when ALLOCATOR=libc #39263

Merged
merged 1 commit into from Feb 4, 2021

Conversation

cbodley
Copy link
Contributor

@cbodley cbodley commented Feb 3, 2021

the WITH_SYSTEM_BOOST binaries are not built with BOOST_USE_VALGRIND, so it probably isn't safe to define for the headers only

this flag is needed for teuthology testing, and the shaman builds use WITH_SYSTEM_BOOST=OFF. so the better fix is to enable WITH_BOOST_VALGRIND so BuildBoost.cmake will build the libraries with valgrind support and add -DBOOST_USE_VALGRIND to the necessary targets

this change was merged in ceph/ceph-build#1736

Fixes: https://tracker.ceph.com/issues/48963

Checklist

  • References tracker ticket
  • Updates documentation if necessary
  • Includes tests for new functionality or reproducer for bug

Show available Jenkins commands
  • jenkins retest this please
  • jenkins test classic perf
  • jenkins test crimson perf
  • jenkins test signed
  • jenkins test make check
  • jenkins test make check arm64
  • jenkins test submodules
  • jenkins test dashboard
  • jenkins test api
  • jenkins test docs
  • jenkins render docs
  • jenkins test ceph-volume all
  • jenkins test ceph-volume tox

the WITH_SYSTEM_BOOST binaries are not built with BOOST_USE_VALGRIND, so
it probably isn't safe to define for the headers only

this flag is needed for teuthology testing, and the shaman builds use
WITH_SYSTEM_BOOST=OFF. so the better fix is to enable WITH_BOOST_VALGRIND
so BuildBoost.cmake will build the libraries with valgrind support and add
-DBOOST_USE_VALGRIND to the necessary targets

this change was merged in ceph/ceph-build#1736

Fixes: https://tracker.ceph.com/issues/48963

Signed-off-by: Casey Bodley <cbodley@redhat.com>
@cbodley
Copy link
Contributor Author

cbodley commented Feb 3, 2021

uh oh, all tests in https://pulpito.ceph.com/cbodley-2021-02-03_16:14:08-rgw:verify-wip-48963-distro-basic-gibba/ (built with WITH_BOOST_VALGRIND) failed with this segfault:

*** Caught signal (Segmentation fault) **
 in thread 4433f700 thread_name:notif-worker0
 ceph version 17.0.0-403-g3c3a6519 (3c3a6519cce35d5643a9c05937d3661683fdac2f) quincy (dev)
 1: /lib64/libpthread.so.0(+0x12dd0) [0x1021ddd0]
 2: (spawn::detail::spawn_helper<boost::asio::executor_binder<void (*)(), boost::asio::strand<boost::asio::io_context::executor_type> >, rgw::notify::Manager::Manager(ceph::common::CephContext*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, rgw::sal::RGWRadosStore*)::{lambda(spawn::basic_yield_context<boost::asio::executor_binder<void (*)(), boost::asio::executor> >)#1}, boost::context::basic_protected_fixedsize_stack<rgw::notify::Manager::Manager(ceph::common::CephContext*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, rgw::sal::RGWRadosStore*)::{lambda(spawn::basic_yield_context<boost::asio::executor_binder<void (*)(), boost::asio::executor> >)#1}::stack_traits> >::operator()()+0x63) [0x59b23f3]
 3: (boost::asio::detail::executor_op<spawn::detail::spawn_helper<boost::asio::executor_binder<void (*)(), boost::asio::strand<boost::asio::io_context::executor_type> >, rgw::notify::Manager::Manager(ceph::common::CephContext*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, rgw::sal::RGWRadosStore*)::{lambda(spawn::basic_yield_context<boost::asio::executor_binder<void (*)(), boost::asio::executor> >)#1}, boost::context::basic_protected_fixedsize_stack<rgw::notify::Manager::Manager(ceph::common::CephContext*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, rgw::sal::RGWRadosStore*)::{lambda(spawn::basic_yield_context<boost::asio::executor_binder<void (*)(), boost::asio::executor> >)#1}::stack_traits> >, std::allocator<void>, boost::asio::detail::scheduler_operation>::do_complete(void*, std::allocator<void>*, boost::system::error_code const&, unsigned long)+0xa8) [0x59b2568]
 4: (boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>::operator()()+0x8d) [0x5313e1d]
 5: (boost::asio::detail::executor_op<boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>, std::allocator<void>, boost::asio::detail::scheduler_operation>::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long)+0x99) [0x53140a9]
 6: (boost::asio::detail::scheduler::run(boost::system::error_code&)+0x4f2) [0x1b57a2]
 7: (std::thread::_State_impl<std::thread::_Invoker<std::tuple<rgw::notify::Manager::Manager(ceph::common::CephContext*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, rgw::sal::RGWRadosStore*)::{lambda()#2}> > >::_M_run()+0x46) [0x59af106]
 8: /lib64/libstdc++.so.6(+0xc2a33) [0x111dca33]
 9: /lib64/libpthread.so.0(+0x82de) [0x102132de]

seeing if i can reproduce it myself

@cbodley
Copy link
Contributor Author

cbodley commented Feb 3, 2021

the segfault was due to radosgw's cmake not forwarding the BOOST_USE_VALGRIND definition from boost::context

fixed in #39279

@cbodley cbodley merged commit c89c405 into ceph:master Feb 4, 2021
@cbodley cbodley deleted the wip-48963 branch February 4, 2021 16:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants