Hello everyone, I'm running a GNU Radio program in standalone C++ application. I experience something strange with the Socket PDU block. In a header file, the Socket PDU object is declared as follows:
gr::blocks::socket_pdu::sptr m_TCPServer; and in the implementation file, the object is initialized like this: m_TCPServer = gr::blocks::socket_pdu::make("TCP_SERVER","127.0.0.1","2001"); Tracing the debugger output, the SIGSEGV signal is triggered by the reactive_socket_service_base::destroy(...) function. In particular, the debugger points to the reactor_.deregistor_descriptor(..) function. All help is warmly welcomed. DISCLAIMER: The program is run on a machine with an old version of GNU Radio (3.7.11.1), which can't be updated (for security reasons). Regards, Moses. void reactive_socket_service_base::destroy( reactive_socket_service_base::base_implementation_type& impl) { if (impl.socket_ != invalid_socket) { BOOST_ASIO_HANDLER_OPERATION(("socket", &impl, "close")); reactor_.deregister_descriptor(impl.socket_, impl.reactor_data_,=====> Debugger points to this line (impl.state_ & socket_ops::possible_dup) == 0); boost::system::error_code ignored_ec; socket_ops::close(impl.socket_, impl.state_, true, ignored_ec); } } DEBUGGER OUTPUT --------------- 1 boost::asio::detail::reactive_socket_service_base::destroy reactive_socket_service_base.ipp 87 0x7ffff64c9baf 2 boost::asio::socket_acceptor_service<boost::asio::ip::tcp>::destroy socket_acceptor_service.hpp 137 0x7ffff64c9e8a 3 boost::asio::basic_io_object<boost::asio::socket_acceptor_service<boost::asio::ip::tcp>>::~basic_io_object basic_io_object.hpp 124 0x7ffff64c9e8a 4 boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp>>::~basic_socket_acceptor basic_socket_acceptor.hpp 55 0x7ffff64c9e8a 5 boost::checked_delete<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp>>> checked_delete.hpp 34 0x7ffff64c9e8a 6 boost::detail::sp_counted_impl_p<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp>>>::dispose sp_counted_impl.hpp 78 0x7ffff64c9e8a 7 boost::detail::sp_counted_base::release sp_counted_base_gcc_x86.hpp 146 0x7ffff64c203a 8 boost::detail::sp_counted_base::release sp_counted_base_gcc_x86.hpp 144 0x7ffff64c5cfd 9 boost::detail::shared_count::~shared_count shared_count.hpp 443 0x7ffff64c5cfd 10 boost::shared_ptr<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp>>>::~shared_ptr shared_ptr.hpp 323 0x7ffff64c5cfd 11 gr::blocks::socket_pdu_impl::socket_pdu_impl socket_pdu_impl.cc 45 0x7ffff64c5cfd 12 gr::blocks::socket_pdu::make socket_pdu_impl.cc 38 0x7ffff64c6132 13 StandardTTC::createFlowgraph standardttc.cpp 1006 0x427807 14 StandardTTC::startDevice standardttc.cpp 405 0x421510 15 StandardTTC::qt_static_metacall moc_standardttc.cpp 63 0x49df41 16 QMetaObject::activate(QObject *, QMetaObject const *, int, void * *) 0x7ffff3fc2f80 17 QAbstractButton::toggled(bool) 0x7ffff4b803e2 18 QAbstractButton::setChecked(bool) 0x7ffff48b712d 19 ?? 0x7ffff48b6cd3 20 QAbstractButton::mouseReleaseEvent(QMouseEvent *) 0x7ffff48b6e24 ... <More>