Open myers opened 9 years ago
Following readme
Shell 1:
$ erl -sname abc Erlang R16B03 (erts-5.10.4) [source] [64-bit] [smp:6:6] [async-threads:10] [kernel-poll:false] Eshell V5.10.4 (abort with ^G) (abc@gir)1> register(test, self()). true
Shell 2:
eixx/src$ libtool --mode=execute gdb test_node GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1 Copyright (C) 2014 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /home/myers/test_eixx/eixx/src/.libs/lt-test_node...done. (gdb) run -n a@gir -r abc@gir Starting program: /home/myers/test_eixx/eixx/src/.libs/lt-test_node -n a@gir -r abc@gir [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [New Thread 0x7ffff5394700 (LWP 15159)] Program received signal SIGSEGV, Segmentation fault. 0x00007fffffffdd10 in ?? () (gdb) bt #0 0x00007fffffffdd10 in ?? () #1 0x000000000043eb5f in std::function<bool (eixx::connect::transport_msg<std::allocator<char> >*&, boost::system::error_code const&)>::operator()(eixx::connect::transport_msg<std::allocator<char> >*&, boost::system::error_code const&) const ( this=0x7fffffffdc40, __args#0=@0x7fffffffd7f8: 0x4256ca <std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_add_ref_lock()+24>, __args#1=...) at /usr/include/c++/4.8/functional:2464 #2 0x00000000004443c7 in eixx::util::async_queue<eixx::connect::transport_msg<std::allocator<char> >*, std::allocator<char> >::process_queue(std::function<bool (eixx::connect::transport_msg<std::allocator<char> >*&, boost::system::error_code const&)> const&, boost::system::error_code const&, std::chrono::duration<long, std::ratio<1l, 1000l> >, int) (this=0x6ca440, h=..., ec=..., repeat=..., repeat_count=2147483647) at ./../include/eixx/util/async_queue.hpp:109 #3 0x000000000043ebde in eixx::util::async_queue<eixx::connect::transport_msg<std::allocator<char> >*, std::allocator<char> >::operator()(std::function<bool (eixx::connect::transport_msg<std::allocator<char> >*&, boost::system::error_code const&)> const&, boost::system::error_code const&, std::chrono::duration<long, std::ratio<1l, 1000l> >, int) (this=0x6ca440, h=..., ec=..., repeat=..., repeat_count=2147483647) at ./../include/eixx/util/async_queue.hpp:132 #4 0x00000000004399be in eixx::util::async_queue<eixx::connect::transport_msg<std::allocator<char> >*, std::allocator<char> >::async_dequeue(std::function<bool (eixx::connect::transport_msg<std::allocator<char> >*&, boost::system::error_code const&)> const&, std::chrono::duration<long, std::ratio<1l, 1000l> >, int)::{lambda(boost::system::error_code const&)#2}::operator()(boost::system::error_code const&) const (__closure=0x7fffffffd9d0, e=...) at ./../include/eixx/util/async_queue.hpp:222 #5 0x0000000000462163 in boost::asio::detail::binder1<eixx::util::async_queue<eixx::connect::transport_msg<std::allocator<char> >*, std::allocator<char> >::async_dequeue(std::function<bool (eixx::connect::transport_msg<std::allocator<char> >*&, boost::system::error_code const&)> const&, std::chrono::duration<long, std::ratio<1l, 1000l> >, int)::{lambda(boost::system::error_code const&)#2}, boost::system::error_code>::operator()() (this=0x7fffffffd9d0) at /usr/include/boost/asio/detail/bind_handler.hpp:47 #6 0x000000000045f2c7 in boost::asio::asio_handler_invoke<boost::asio::detail::binder1<eixx::util::async_queue<eixx::connect::transport_msg<std::allocator<char> >*, std::allocator<char> >::async_dequeue(std::function<bool (eixx::connect::transport_msg<std::allocator<char> >*&, boost::system::error_code const&)> const&, std::chrono::duration<long, std::ratio<1l, 1000l> >, int)::{lambda(boost::system::error_code const&)#2}, boost::system::error_code> >(boost::asio::detail::binder1<eixx::util::async_queue<eixx::connect::transport_msg<std::allocator<char> >*, std::allocator<char> >::async_dequeue(std::function<bool (eixx::connect::transport_msg<std::allocator<char> >*&, boost::system::error_code const&)> const&, std::chrono::duration<long, std::ratio<1l, 1000l> >, int)::{lambda(boost::system::error_code const&)#2}, boost::system::error_code>, ...) ( function=...) at /usr/include/boost/asio/handler_invoke_hook.hpp:64 #7 0x000000000045b779 in boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<eixx::util::async_queue<eixx::connect::transport_msg<std::allocator<char> >*, std::allocator<char> >::async_dequeue(std::function<bool (eixx::connect::transport_msg<std::allocator<char> >*&, boost::system::error_code const&)> const&, std::chrono::duration<long, std::ratio<1l, 1000l> >, int)::{lambda(boost::system::error_code const&)#2}, boost::system::error_code>, {lambda(boost::system::error_code const&)#2}>(boost::asio::detail::binder1<eixx::util::async_queue<eixx::connect::transport_msg<std::allocator<char> >*, std::allocator<char> >::async_dequeue(std::function<bool (eixx::connect::transport_msg<std::allocator<char> >*&, boost::system::error_code const&)> const&, std::chrono::duration<long, std::ratio<1l, 1000l> >, int)::{lambda(boost::system::error_code const&)#2}, boost::system::error_code>&, {lambda(boost::system::error_code const&)#2}&) (function=..., context=...) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37 #8 0x0000000000456dda in boost::asio::detail::wait_handler<eixx::util::async_queue<eixx::connect::transport_msg<std::allocator<char> >*, std::allocator<char> >::async_dequeue(std::function<bool (eixx::connect::transport_msg<std::allocator<char> >*&, boost::system::error_code const&)> const&, std::chrono::duration<long, std::ratio<1l, 1000l> >, int)::{lambda(boost::system::error_code const&)#2}>::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) (owner=0x6c6d80, base=0x6ef320) at /usr/include/boost/asio/detail/wait_handler.hpp:70 #9 0x00000000004293b0 in boost::asio::detail::task_io_service_operation::complete (this=0x6ef320, owner=..., ec=..., bytes_transferred=0) at /usr/include/boost/asio/detail/task_io_service_operation.hpp:37 #10 0x000000000042bcf7 in boost::asio::detail::task_io_service::do_run_one (this=0x6c6d80, lock=..., this_thread=..., ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:384 #11 0x000000000042b717 in boost::asio::detail::task_io_service::run (this=0x6c6d80, ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:153 #12 0x000000000042c0a3 in boost::asio::io_service::run (this=0x7fffffffdd10) at /usr/include/boost/asio/impl/io_service.ipp:59 #13 0x0000000000434d10 in eixx::connect::basic_otp_node<std::allocator<char>, std::recursive_mutex>::run ( this=0x7fffffffdd60) at ./../include/eixx/connect/basic_otp_node.hpp:165 #14 0x0000000000423bf7 in main (argc=5, argv=0x7fffffffe008) at test_node.cpp:145
Following readme
Shell 1:
Shell 2: