aMule Forum

English => aMule crashes => Topic started by: stoatwblr on February 12, 2012, 08:24:45 PM

Title: 10742-asio crash
Post by: stoatwblr on February 12, 2012, 08:24:45 PM

Crash occurred after killing amulegui on another machine (it had wedged)

----------------------------=| BACKTRACE FOLLOWS: |=----------------------------
Current version is: aMuleD SVN compiled with wxGTK2 v2.8.12 and Boost 1.48 (Debugging) (Snapshot: rev. 10742)
Running on: Linux 3.2.0-15-generic x86_64

[2] wxFatalSignalHandler in /usr/lib/libwx_baseu-2.8.so.0[0x2b799493819c]
[3] CFileAreaSigHandler::Handler(int, siginfo*, void*) in FileArea.cpp:131
[4] ?? in /lib/x86_64-linux-gnu/libpthread.so.0[0x2b7995356060]
[5] boost::asio::detail::reactive_socket_service_base::start_op(boost::asio::detail::reactive_socket_service_base::base_implementation_type&, int, boost::asio::detail::reac
tor_op*, bool, bool) in reactive_socket_service_base.ipp:217
[6] void boost::asio::detail::reactive_socket_service<boost::asio::ip::udp>::async_receive_from<boost::asio::mutable_buffers_1, boost::_bi::bind_t<void, boost::_mfi::mf2<vo
id, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()
> > >(boost::asio::detail::reactive_socket_service<boost::asio::ip::udp>::implementation_type&, boost::asio::mutable_buffers_1 const&, boost::asio::ip::basic_endpoint<boost
::asio::ip::udp>&, int, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::
value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >) in reactive_socket_service.hpp:302
[7] void boost::asio::datagram_socket_service<boost::asio::ip::udp>::async_receive_from<boost::asio::mutable_buffers_1, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsi
oUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >(bo
ost::asio::detail::reactive_socket_service<boost::asio::ip::udp>::implementation_type&, boost::asio::mutable_buffers_1 const&, boost::asio::ip::basic_endpoint<boost::asio::
ip::udp>&, int, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > const&) in datagram_socket_service.hpp:360
[8] CAsioUDPSocketImpl::StartBackgroundRead() in LibSocketAsio.cpp:1140
[9] CAsioUDPSocketImpl::HandleRead(boost::system::error_code const&, unsigned long) in LibSocketAsio.cpp:1108
[10] void boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >::operator()<boost::system::error_code, unsigned long>(boost::system::error_code const&, unsigned long const&) in bind_template.hpp:103 
[11] void boost::asio::asio_handler_invoke<boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>, ...) in handler_invoke_hook.hpp:65
[12] void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >&) in handler_invoke_helpers.hpp:41
[13] boost::asio::detail::reactive_socket_recvfrom_op<boost::asio::mutable_buffers_1, boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) in reactive_socket_recvfrom_op.hpp:118
[14] boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service::thread_info&, boost::asio::detail::op_queue<boost::asio::detail::task_io_service_operation>&, boost::system::error_code const&) in task_io_service.ipp:362
[15] boost::asio::detail::task_io_service::run(boost::system::error_code&) in task_io_service.ipp:146
[16] boost::asio::io_service::run() in io_service.ipp:60
[17] CAsioService::Entry() in LibSocketAsio.cpp:1253
[18] wxThreadInternal::PthreadStart(wxThread*) in /usr/lib/libwx_baseu-2.8.so.0[0x2b7994933851]
[19] ?? in /lib/x86_64-linux-gnu/libpthread.so.0[0x2b799534defc]
[20] clone in /lib/x86_64-linux-gnu/libc.so.6[0x2b799564489d]

--------------------------------------------------------------------------------
Command terminated by signal 6
Title: Re: 10742-asio crash
Post by: stoatwblr on February 12, 2012, 08:35:50 PM
Yes, I know the current is svn 10755, but 43-45 don't matter and  the rest haven't been merged into the asio branch
Title: Re: 10742-asio crash
Post by: Stu Redman on February 12, 2012, 08:51:03 PM
Sure.
Hm. That's an UDP crash, and UDP is not used in EC.
Title: Re: 10742-asio crash
Post by: Stu Redman on February 12, 2012, 09:35:42 PM
Tried a possible fix (recreating the UDP socket after an error) - 10757
Title: Re: 10742-asio crash
Post by: stoatwblr on February 13, 2012, 11:10:35 AM

Happened again - trigger this time was a router crash (locked up, no reboot, no offsite networking)

----------------------------=| BACKTRACE FOLLOWS: |=----------------------------
Current version is: aMuleD SVN compiled with wxGTK2 v2.8.12 and Boost 1.48 (Debugging) (Snapshot: rev. 10757)
Running on: Linux 3.2.0-15-generic x86_64


[2] wxFatalSignalHandler in /usr/lib/libwx_baseu-2.8.so.0[0x2b4266f7619c]
[3] CFileAreaSigHandler::Handler(int, siginfo*, void*) in FileArea.cpp:131
[4] ?? in /lib/x86_64-linux-gnu/libpthread.so.0[0x2b4267994060]
[5] void boost::asio::basic_datagram_socket<boost::asio::ip::udp, boost::asio::datagram_socket_service<boost::asio::ip::udp> >::async_receive_from<boost::asio::mutable_buffers_1, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >(boost::asio::mutable_buffers_1 const&, boost::asio::ip::basic_endpoint<boost::asio::ip::udp>&, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > const&) in basic_datagram_socket.hpp:836
[6] CAsioUDPSocketImpl::StartBackgroundRead() in LibSocketAsio.cpp:1153
[7] CAsioUDPSocketImpl::HandleRead(boost::system::error_code const&, unsigned long) in LibSocketAsio.cpp:1102
[8] void boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >::operator()<boost::system::error_code, unsigned long>(boost::system::error_code const&, unsigned long const&) in bind_template.hpp:103
[9] void boost::asio::asio_handler_invoke<boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>, ...) in handler_invoke_hook.hpp:65
[10] void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >(boost::asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >, boost::system::error_code, unsigned long>&, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >&) in handler_invoke_helpers.hpp:41
[11] boost::asio::detail::reactive_socket_recvfrom_op<boost::asio::mutable_buffers_1, boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, boost::_bi::bind_t<void, boost::_mfi::mf2<void, CAsioUDPSocketImpl, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<CAsioUDPSocketImpl*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) in reactive_socket_recvfrom_op.hpp:118
[12] boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service::thread_info&, boost::asio::detail::op_queue<boost::asio::detail::task_io_service_operation>&, boost::system::error_code const&) in task_io_service.ipp:362
[13] boost::asio::detail::task_io_service::run(boost::system::error_code&) in task_io_service.ipp:146
[14] boost::asio::io_service::run() in io_service.ipp:60
[15] CAsioService::Entry() in LibSocketAsio.cpp:1267
[16] wxThreadInternal::PthreadStart(wxThread*) in /usr/lib/libwx_baseu-2.8.so.0[0x2b4266f71851]
[17] ?? in /lib/x86_64-linux-gnu/libpthread.so.0[0x2b426798befc]
[18] clone in /lib/x86_64-linux-gnu/libc.so.6[0x2b4267c8289d]

--------------------------------------------------------------------------------
Command terminated by signal 6
2672.05user 1239.94system 8:07:24elapsed 13%CPU (0avgtext+0avgdata 1994816maxresident)k
106895591inputs+9273608outputs (9073major+13688279minor)pagefaults 0swaps
Title: Re: 10742-asio crash
Post by: Stu Redman on February 13, 2012, 09:46:36 PM
Was there no message before the "backtrace follows" ?
Can you try to run it with GDB for a proper backtrace?
Title: Re: 10742-asio crash
Post by: stoatwblr on February 13, 2012, 11:16:10 PM
Was there no message before the "backtrace follows" ?
Can you try to run it with GDB for a proper backtrace?

Only the generic failure message. Nothing logged.

I'll try it inside gdb

Title: Re: 10742-asio crash
Post by: stoatwblr on February 16, 2012, 05:17:01 PM
Hmmmmmmmmmm....

With --enable-debug --disable-optimize (so that GDB can work) it's nice and stable.
Title: Re: 10742-asio crash
Post by: Stu Redman on February 16, 2012, 07:28:08 PM
GDB can work with --enable-optimize too. Maybe you can't see some local variables or so, but in general it should work.
Title: Re: 10742-asio crash
Post by: stoatwblr on February 20, 2012, 06:14:36 PM
It does - but it's still "nice and stable" when run inside the debugger.

Title: Re: 10742-asio crash
Post by: Stu Redman on February 20, 2012, 10:39:03 PM
Probably outside too. What you described appears to be triggered by some external events (like the router crash), unless that happens again you can't reproduce it apparently.