discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Socket PDU (TCP Server) crashes


From: Moses Browne Mwakyanjala
Subject: Re: Socket PDU (TCP Server) crashes
Date: Thu, 26 Mar 2020 12:37:35 +0100

Hi Marcus,
You are absolutely right. I copy/pasted the "Socket PDU" source files from the latest GNU Radio and compiled it as a separate OOT. 
The error has disappeared. I have also tried to use ZMQ, and it seems to be quite straightforward. I think I will stick to it. 

Regards,
Moses. 

On Tue, Mar 24, 2020 at 4:09 PM Marcus Müller <address@hidden> wrote:
Hi Moses,

if it's a bug in the source code of GNU Radio, you'll have to update
that piece of GNU Radio, right?
So, "can't update GNU Radio" isn't a very promising point to start from.
So, what exactly can you and can you not do to your GNU Radio installation?

Does the same code (or even better, a Minimum Reproducible Example) work
on a different machine with GNU Radio 3.7.14.0?

Cheers,
Marcus

On 24.03.20 10:47, Moses Browne Mwakyanjala wrote:
> 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::sptrm_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.
>
> voidreactive_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_codeignored_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>                                                                                                                                                                                                              
>
>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]