Bug #795

rsbtest crashes due to socket transport

Added by J. Wienke over 12 years ago. Updated over 12 years ago.

Status:ResolvedStart date:01/06/2012
Priority:NormalDue date:
Assignee:J. Wienke% Done:

100%

Category:C++
Target version:0.6

Description

Thread 2 (Thread 0x7ffff33eb700 (LWP 11137)):
#0  0x00007ffff7ae06cc in boost::asio::use_service<boost::asio::stream_socket_service<boost::asio::ip::tcp> > (ios=...) at /usr/include/boost/asio/impl/io_service.ipp:195
#1  0x00007ffff7adfac7 in basic_io_object (this=0x703dd0, io_service=...) at /usr/include/boost/asio/basic_io_object.hpp:72
#2  0x00007ffff7adee93 in basic_socket (this=0x703dd0, io_service=...) at /usr/include/boost/asio/basic_socket.hpp:67
#3  0x00007ffff7ade327 in basic_stream_socket (this=0x703dd0, io_service=...) at /usr/include/boost/asio/basic_stream_socket.hpp:70
#4  0x00007ffff7adc0d3 in rsb::transport::socket::BusServer::acceptOne (this=0x7056c0) at /homes/jwienke/workspace/RSB/src/rsb/transport/socket/BusServer.cpp:56
#5  0x00007ffff7adc81c in rsb::transport::socket::BusServer::handleAccept (this=0x7056c0, socket=..., error=...) at /homes/jwienke/workspace/RSB/src/rsb/transport/socket/BusServer.cpp:78
#6  0x00007ffff7ae6441 in boost::_mfi::mf2<void, rsb::transport::socket::BusServer, boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >, boost::system::error_code const&>::operator() (this=0x7ffff33eaab0, p=0x7056c0, a1=..., a2=...) at /usr/include/boost/bind/mem_fn_template.hpp:274
#7  0x00007ffff7ae62eb in boost::_bi::list3<boost::_bi::value<rsb::transport::socket::BusServer*>, boost::_bi::value<boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >, boost::arg<1> (*)()>::operator()<boost::_mfi::mf2<void, rsb::transport::socket::BusServer, boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >, boost::system::error_code const&>, boost::_bi::list1<boost::system::error_code&> > (this=0x7ffff33eaac0, f=..., a=...) at /usr/include/boost/bind/bind.hpp:385
#8  0x00007ffff7ae6022 in boost::_bi::bind_t<void, boost::_mfi::mf2<void, rsb::transport::socket::BusServer, boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >, boost::system::error_code const&>, boost::_bi::list3<boost::_bi::value<rsb::transport::socket::BusServer*>, boost::_bi::value<boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >, boost::arg<1> (*)()> >::operator()<boost::system::error_code> (this=0x7ffff33eaab0, a1=...) at /usr/include/boost/bind/bind_template.hpp:32
#9  0x00007ffff7ae5f2d in boost::asio::detail::binder1<boost::_bi::bind_t<void, boost::_mfi::mf2<void, rsb::transport::socket::BusServer, boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >, boost::system::error_code const&>, boost::_bi::list3<boost::_bi::value<rsb::transport::socket::BusServer*>, boost::_bi::value<boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >, boost::arg<1> (*)()> >, boost::system::error_code>::operator() (this=0x7ffff33eaab0) at /usr/include/boost/asio/detail/bind_handler.hpp:39
#10 0x00007ffff7ae5ebb in boost::asio::asio_handler_invoke<boost::asio::detail::binder1<boost::_bi::bind_t<void, boost::_mfi::mf2<void, rsb::transport::socket::BusServer, boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >, boost::system::error_code const&>, boost::_bi::list3<boost::_bi::value<rsb::transport::socket::BusServer*>, boost::_bi::value<boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >, boost::arg<1> (*)()> >, boost::system::error_code> > (function=...) at /usr/include/boost/asio/handler_invoke_hook.hpp:62
#11 0x00007ffff7ae5cf2 in boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<boost::_bi::bind_t<void, boost::_mfi::mf2<void, rsb::transport::socket::BusServer, boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >, boost::system::error_code const&>, boost::_bi::list3<boost::_bi::value<rsb::transport::socket::BusServer*>, boost::_bi::value<boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >, boost::arg<1> (*)()> >, boost::system::error_code>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, rsb::transport::socket::BusServer, boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >, boost::system::error_code const&>, boost::_bi::list3<boost::_bi::value<rsb::transport::socket::BusServer*>, boost::_bi::value<boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >, boost::arg<1> (*)()> > > (function=..., context=0x7ffff33eab60)
    at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:39
#12 0x00007ffff7ae5b99 in boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder1<boost::_bi::bind_t<void, boost::_mfi::mf2<void, rsb::transport::socket::BusServer, boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >, boost::system::error_code const&>, boost::_bi::list3<boost::_bi::value<rsb::transport::socket::BusServer*>, boost::_bi::value<boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >, boost::arg<1> (*)()> >, boost::system::error_code>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, rsb::transport::socket::BusServer, boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >, boost::system::error_code const&>, boost::_bi::list3<boost::_bi::value<rsb::transport::socket::BusServer*>, boost::_bi::value<boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >, boost::arg<1> (*)()> >, boost::system::error_code> (function=..., this_handler=0x7ffff33eab60)
    at /usr/include/boost/asio/detail/bind_handler.hpp:72
#13 0x00007ffff7ae5a8e in boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<boost::_bi::bind_t<void, boost::_mfi::mf2<void, rsb::transport::socket::BusServer, boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >, boost::system::error_code const&>, boost::_bi::list3<boost::_bi::value<rsb::transport::socket::BusServer*>, boost::_bi::value<boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >, boost::arg<1> (*)()> >, boost::system::error_code>, boost::asio::detail::binder1<boost::_bi::bind_t<void, boost::_mfi::mf2<void, rsb::transport::socket::BusServer, boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >, boost::system::error_code const&>, boost::_bi::list3<boost::_bi::value<rsb::transport::socket::BusServer*>, boost::_bi::value<boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >, boost::arg<1> (*)()> >, boost::system::error_code> > (function=..., 
    context=0x7ffff33eab60) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:39
#14 0x00007ffff7ae56b9 in boost::asio::detail::handler_queue::handler_wrapper<boost::asio::detail::binder1<boost::_bi::bind_t<void, boost::_mfi::mf2<void, rsb::transport::socket::BusServer, boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >, boost::system::error_code const&>, boost::_bi::list3<boost::_bi::value<rsb::transport::socket::BusServer*>, boost::_bi::value<boost::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >, boost::arg<1> (*)()> >, boost::system::error_code> >::do_call (base=0x702af0) at /usr/include/boost/asio/detail/handler_queue.hpp:192
#15 0x00007ffff7aeb0ef in boost::asio::detail::handler_queue::handler::invoke (this=0x702af0) at /usr/include/boost/asio/detail/handler_queue.hpp:39
#16 0x00007ffff7aeda55 in boost::asio::detail::task_io_service<boost::asio::detail::epoll_reactor<false> >::do_one (this=0x7053c0, lock=..., this_idle_thread=0x7ffff33eacf0, ec=...) at /usr/include/boost/asio/detail/task_io_service.hpp:268
#17 0x00007ffff7aebf73 in boost::asio::detail::task_io_service<boost::asio::detail::epoll_reactor<false> >::run (this=0x7053c0, ec=...) at /usr/include/boost/asio/detail/task_io_service.hpp:103
#18 0x00007ffff7aeba13 in boost::asio::io_service::run (this=0x703a08) at /usr/include/boost/asio/impl/io_service.ipp:58
#19 0x00007ffff7af894b in boost::_mfi::mf0<unsigned long, boost::asio::io_service>::operator() (this=0x705568, p=0x703a08) at /usr/include/boost/bind/mem_fn_template.hpp:49
#20 0x00007ffff7af88bb in boost::_bi::list1<boost::_bi::value<boost::asio::io_service*> >::operator()<unsigned long, boost::_mfi::mf0<unsigned long, boost::asio::io_service>, boost::_bi::list0> (this=0x705578, f=..., a=...)
    at /usr/include/boost/bind/bind.hpp:236
#21 0x00007ffff7af8867 in boost::_bi::bind_t<unsigned long, boost::_mfi::mf0<unsigned long, boost::asio::io_service>, boost::_bi::list1<boost::_bi::value<boost::asio::io_service*> > >::operator() (this=0x705568)
    at /usr/include/boost/bind/bind_template.hpp:20
#22 0x00007ffff7af8786 in boost::detail::thread_data<boost::_bi::bind_t<unsigned long, boost::_mfi::mf0<unsigned long, boost::asio::io_service>, boost::_bi::list1<boost::_bi::value<boost::asio::io_service*> > > >::run (this=0x705460)
    at /usr/include/boost/thread/detail/thread.hpp:56
#23 0x00007ffff6851b70 in thread_proxy (param=<value optimized out>) at libs/thread/src/pthread/thread.cpp:130
#24 0x00007ffff5db49ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#25 0x00007ffff536370d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#26 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ffff7fb4720 (LWP 11133)):
#0  0x000000000047cb60 in std::_Rb_tree<std::string, std::pair<std::string const, boost::any>, std::_Select1st<std::pair<std::string const, boost::any> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::any> > >::get_allocator (this=0x7fffffffc3b0) at /usr/include/c++/4.4/bits/stl_tree.h:354
#1  0x000000000047a2ca in std::_Rb_tree<std::string, std::pair<std::string const, boost::any>, std::_Select1st<std::pair<std::string const, boost::any> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::any> > >::_M_destroy_node (this=0x7fffffffc3b0, __p=0x7fffec000b60) at /usr/include/c++/4.4/bits/stl_tree.h:383
#2  0x0000000000477151 in std::_Rb_tree<std::string, std::pair<std::string const, boost::any>, std::_Select1st<std::pair<std::string const, boost::any> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::any> > >::_M_erase (this=0x7fffffffc3b0, __x=0x7fffec000b60) at /usr/include/c++/4.4/bits/stl_tree.h:972
#3  0x000000000047712e in std::_Rb_tree<std::string, std::pair<std::string const, boost::any>, std::_Select1st<std::pair<std::string const, boost::any> >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::any> > >::_M_erase (this=0x7fffffffc3b0, __x=0x7fffec000b00) at /usr/include/c++/4.4/bits/stl_tree.h:970
---Type <return> to continue, or q <return> to quit---
#4  0x00000000004734b9 in ~_Rb_tree (this=0x7fffffffc3b0, __in_chrg=<value optimized out>) at /usr/include/c++/4.4/bits/stl_tree.h:614
#5  0x00000000004717a8 in ~map (this=0x7fffffffc3b0, __in_chrg=<value optimized out>) at /usr/include/c++/4.4/bits/stl_map.h:87
#6  0x00000000004717c2 in ~Properties (this=0x7fffffffc3b0, __in_chrg=<value optimized out>) at /homes/jwienke/local/lucid/x86_64/include/rsc/runtime/Properties.h:58
#7  0x00007ffff7a1dadc in rsb::ParticipantConfig::Transport::isEnabled (this=0x7065a8) at /homes/jwienke/workspace/RSB/src/rsb/ParticipantConfig.cpp:83
#8  0x00007ffff7a1f633 in rsb::ParticipantConfig::getTransports (this=0x7fffffffce60, includeDisabled=false) at /homes/jwienke/workspace/RSB/src/rsb/ParticipantConfig.cpp:228
#9  0x00007ffff79e6148 in rsb::Factory::createOutConnectors (this=0x6fe990, config=...) at /homes/jwienke/workspace/RSB/src/rsb/Factory.cpp:236
#10 0x00000000004737d6 in rsb::Factory::createInformer<std::string> (this=0x6fe990, scope=..., config=..., dataType=...) at /homes/jwienke/workspace/RSB/test/../src/rsb/Factory.h:87
#11 0x000000000046b3b2 in InformerTest_testTypeCheck_Test::TestBody (this=0x7048f0) at /homes/jwienke/workspace/RSB/test/rsb/integrationtest.cpp:237
#12 0x00000000004a6689 in testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void> (object=0x7048f0, method=&virtual testing::Test::TestBody(), location=0x4c2353 "the test body")
    at /homes/jwienke/workspace/RSB/3rdparty/gmock/gtest/src/gtest.cc:2090
#13 0x00000000004a16e4 in testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void> (object=0x7048f0, method=&virtual testing::Test::TestBody(), location=0x4c2353 "the test body")
    at /homes/jwienke/workspace/RSB/3rdparty/gmock/gtest/src/gtest.cc:2126
#14 0x000000000048c50e in testing::Test::Run (this=0x7048f0) at /homes/jwienke/workspace/RSB/3rdparty/gmock/gtest/src/gtest.cc:2162
#15 0x000000000048d124 in testing::TestInfo::Run (this=0x6fae60) at /homes/jwienke/workspace/RSB/3rdparty/gmock/gtest/src/gtest.cc:2338
#16 0x000000000048dac7 in testing::TestCase::Run (this=0x6fb3e0) at /homes/jwienke/workspace/RSB/3rdparty/gmock/gtest/src/gtest.cc:2445
#17 0x0000000000493b8f in testing::internal::UnitTestImpl::RunAllTests (this=0x6fb6f0) at /homes/jwienke/workspace/RSB/3rdparty/gmock/gtest/src/gtest.cc:4237
#18 0x00000000004a7b18 in testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (object=0x6fb6f0, method=0x49391e <testing::internal::UnitTestImpl::RunAllTests()>, 
    location=0x4c2e90 "auxiliary test code (environments or event listeners)") at /homes/jwienke/workspace/RSB/3rdparty/gmock/gtest/src/gtest.cc:2090
#19 0x00000000004a2614 in testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (object=0x6fb6f0, method=0x49391e <testing::internal::UnitTestImpl::RunAllTests()>, 
    location=0x4c2e90 "auxiliary test code (environments or event listeners)") at /homes/jwienke/workspace/RSB/3rdparty/gmock/gtest/src/gtest.cc:2126
#20 0x0000000000491b73 in testing::UnitTest::Run (this=0x6f1280) at /homes/jwienke/workspace/RSB/3rdparty/gmock/gtest/src/gtest.cc:3874
#21 0x000000000046e519 in main (argc=1, argv=0x7fffffffdae8) at /homes/jwienke/workspace/RSB/test/rsb/integrationtest.cpp:341

I've checked that my current modifications do not cause this. It also happens with a fresh trunk checkout.

Associated revisions

Revision ad1883d7
Added by J. Wienke over 12 years ago

  • Make it possible to disable spread and socket transport from cmake fixes #734
  • Do not assume existence of spread and socket transport and shield from user environment for participant configuration fixes #795

History

#1 Updated by J. Wienke over 12 years ago

I see the problem. In my home directory at .config I have an rsb.conf. which enables socket transport. The unit tests itself are not resilient against this config.

#2 Updated by J. Wienke over 12 years ago

  • Assignee changed from J. Moringen to J. Wienke

I have to care for this anyways when disabling spread.

#3 Updated by J. Wienke over 12 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100

Applied in changeset r3217.

Also available in: Atom PDF