miguelfreitas / twister-core

twister core / daemon
MIT License
1.42k stars 251 forks source link

on stopping daemon: Program received signal SIGSEGV, Segmentation fault. op_queue_access::next(back_, h); #217

Closed Erkan-Yilmaz closed 10 years ago

Erkan-Yilmaz commented 10 years ago

a. twister was running for >4h b. terminate twisterd daemon (from twister-html, network options) c. and got:

Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xae6f8b40 (LWP 5501)] push (h=0xb4304c98, this=0xb290cb08) at /usr/include/boost/asio/detail/op_queue.hpp:110 110 op_queueaccess::next(back, h);

below are debugger output, last log lines, peers at one point during session:

debugger


[Thread 0xb42ffb40 (LWP 5512) exited] [Thread 0xa8eedb40 (LWP 5513) exited]

Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xae6f8b40 (LWP 5501)] push (h=0xb4304c98, this=0xb290cb08) at /usr/include/boost/asio/detail/op_queue.hpp:110 110 op_queueaccess::next(back, h);

backtrace

0 push (h=0xb4304c98, this=0xb290cb08) at /usr/include/boost/asio/detail/op_queue.hpp:110

1 boost::asio::detail::task_io_service::do_dispatch (this=this@entry=0xb290cac0, op=op@entry=0xb4304c98)

at /usr/include/boost/asio/detail/impl/task_io_service.ipp:326

2 0x081ad4b6 in boost::asio::detail::task_io_service::dispatch<boost::_bi::bind_t<void, void ()(libtorrent::session_status, bool, libtorrent::condition_variable, boost::asio::detail::posix_mutex, boost::function<libtorrent::session_status ()>), boost::_bi::list5boost::_bi::value<libtorrent::session_status, boost::_bi::value<bool>, boost::_bi::valuelibtorrent::condition_variable, boost::_bi::valueboost::asio::detail::posix_mutex, boost::_bi::value<boost::function<libtorrent::session_status ()> > > > >(boost::_bi::bind_t<void, void ()(libtorrent::session_status, bool, libtorrent::condition_variable, boost::asio::detail::posix_mutex, boost::function<libtorrent::session_status ()>), boost::_bi::list5boost::_bi::value<libtorrent::session_status, boost::_bi::value<bool>, boost::_bi::valuelibtorrent::condition_variable, boost::_bi::valueboost::asio::detail::posix_mutex, boost::_bi::value<boost::function<libtorrent::session_status ()> > > >&) (this=0xb290cac0, handler=...) at /usr/include/boost/asio/detail/impl/task_io_service.hpp:50

3 0x0819ce9a in dispatch<boost::_bi::bind_t<void, void ()(libtorrent::session_status, bool, libtorrent::condition_variable, boost::asio::detail::posix_mutex, boost::function<libtorrent::session_status()>), boost::_bi::list5boost::_bi::value<libtorrent::session_status, boost::_bi::value<bool>, boost::_bi::valuelibtorrent::condition_variable, boost::_bi::valueboost::asio::detail::posix_mutex*, boost::_bi::valueboost::function<libtorrent::session_status() > > > > (this=0xb290d1f4, handler=...) at /usr/include/boost/asio/impl/io_service.hpp:91

4 libtorrent::session::status (this=0xb290ae38) at libtorrent/src/session.cpp:768

5 0x083d4eeb in getDhtNodes (dht_global_nodes=dht_global_nodes@entry=0xae6f7ad0) at src/twister.cpp:433

6 0x0838f8d1 in getinfo (params=..., fHelp=false) at src/rpcwallet.cpp:87

7 0x083586f3 in CRPCTable::execute (this=this@entry=0x860f1c0 , strMethod=..., params=...) at src/bitcoinrpc.cpp:1128

8 0x0835cc68 in ServiceConnection (conn=conn@entry=0xa85b15d8) at src/bitcoinrpc.cpp:1080

9 0x0835dee8 in RPCAcceptHandler<boost::asio::ip::tcp, boost::asio::socket_acceptor_service > (acceptor=..., context=...,

fUseSSL=false, conn=0xa85b15d8, error=...) at src/bitcoinrpc.cpp:729

10 0x08366e5d in operator()<void ()(boost::shared_ptr<boost::asio::basic_socket_acceptor >, boost::asio::ssl::context&, bool, AcceptedConnection, const boost::system::error_code&), boost::_bi::list1<const boost::system::error_code&> > (

f=@0xae6f81d0: 0x835dd20 <RPCAcceptHandler<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> >(boost::shared_ptr<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > >, boost::asio::ssl::context&, bool, AcceptedConnection*, boost::system::error_code const&)>, a=<synthetischer Zeiger>, this=0xae6f81d4) at /usr/include/boost/bind/bind.hpp:525

11 operator()boost::system::error_code (a1=..., this=0xae6f81d0) at /usr/include/boost/bind/bind_template.hpp:47

12 operator() (this=0xae6f81d0) at /usr/include/boost/asio/detail/bind_handler.hpp:47

13 asio_handler_invoke<boost::asio::detail::binder1<boost::_bi::bind_t<void, void ()(boost::shared_ptr<boost::asio::basic_socketacceptor >, boost::asio::ssl::context&, bool, AcceptedConnection, boost::system::error_code const&), boost::_bi::list5boost::_bi::value<boost::shared_ptr<boost::asio::basic_socket_acceptor >, boost::reference_wrapperboost::asio::ssl::context, boost::_bi::value, boost::bi::value<AcceptedConnectionImpl>, boost::arg<1> ()()> >, boost::system::error_code> > (

function=<Fehler beim Lesen der Variable: access outside bounds of object referenced via synthetic pointer>)
at /usr/include/boost/asio/handler_invoke_hook.hpp:64

14 invoke<boost::asio::detail::binder1<boost::_bi::bind_t<void, void ()(boost::shared_ptr<boost::asio::basic_socketacceptor >, boost::asio::ssl::context&, bool, AcceptedConnection, boost::system::error_code const&), boost::_bi::list5boost::_bi::value<boost::shared_ptr<boost::asio::basic_socket_acceptor >, boost::reference_wrapperboost::asio::ssl::context, boost::_bi::value, boost::bi::value<AcceptedConnectionImpl>, boost::arg<1> (_)()> >, boost::system::error_code>, boost::_bi::bindt<void, void ()(boost::shared_ptrboost::asio::basic_socket_acceptor, boost::asio::ssl::context&, bool, AcceptedConnection, boost::system::error_code const&), boost::_bi::list5<boost::_bi:---Type to continue, or q to quit---

:valueboost::shared_ptr<boost::asio::basic_socket_acceptor >, boost::reference_wrapperboost::asio::ssl::context, boost::_bi::value, boost::bi::value<AcceptedConnectionImpl>, boost::arg<1> (_)()> > > (context=..., function=...) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37

15 boost::asio::detail::reactive_socket_accept_op<boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service >, boost::asio::ip::tcp, boost::_bi::bind_t<void, void ()(boost::shared_ptr<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptorservice > >, boost::asio::ssl::context&, bool, AcceptedConnection, boost::system::error_code const&), boost::_bi::list5<boost::_bi::value<boost::shared_ptr<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service > > >, boost::reference_wrapperboost::asio::ssl::context, boost::_bi::value, boost::bi::value<AcceptedConnectionImpl>, boost::arg<1> ()()> > >::do_complete (owner=0x8ff11d0, base=0x8ff2088) at /usr/include/boost/asio/detail/reactive_socket_accept_op.hpp:123

16 0x0807c2ad in complete (bytes_transferred=, ec=..., owner=..., this=0x8ff1a60)

at /usr/include/boost/asio/detail/task_io_service_operation.hpp:37

17 boost::asio::detail::task_io_service::do_run_one (this=this@entry=0x8ff11d0, lock=..., this_thread=..., ec=...)

at /usr/include/boost/asio/detail/impl/task_io_service.ipp:384

18 0x080807e0 in boost::asio::detail::task_io_service::run (this=0x8ff11d0, ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:153

19 0x0808096c in boost::asio::io_service::run (this=0x8785f90) at /usr/include/boost/asio/impl/io_service.ipp:59

20 0xb7f1e683 in ?? () from /usr/lib/i386-linux-gnu/libboost_thread.so.1.54.0

21 0xb7961f70 in start_thread (arg=0xae6f8b40) at pthread_create.c:312

22 0xb774b70e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

where

0 push (h=0xb4304c98, this=0xb290cb08) at /usr/include/boost/asio/detail/op_queue.hpp:110

1 boost::asio::detail::task_io_service::do_dispatch (this=this@entry=0xb290cac0, op=op@entry=0xb4304c98)

at /usr/include/boost/asio/detail/impl/task_io_service.ipp:326

2 0x081ad4b6 in boost::asio::detail::task_io_service::dispatch<boost::_bi::bind_t<void, void ()(libtorrent::session_status, bool, libtorrent::condition_variable, boost::asio::detail::posix_mutex, boost::function<libtorrent::session_status ()>), boost::_bi::list5boost::_bi::value<libtorrent::session_status, boost::_bi::value<bool>, boost::_bi::valuelibtorrent::condition_variable, boost::_bi::valueboost::asio::detail::posix_mutex, boost::_bi::value<boost::function<libtorrent::session_status ()> > > > >(boost::_bi::bind_t<void, void ()(libtorrent::session_status, bool, libtorrent::condition_variable, boost::asio::detail::posix_mutex, boost::function<libtorrent::session_status ()>), boost::_bi::list5boost::_bi::value<libtorrent::session_status, boost::_bi::value<bool>, boost::_bi::valuelibtorrent::condition_variable, boost::_bi::valueboost::asio::detail::posix_mutex, boost::_bi::value<boost::function<libtorrent::session_status ()> > > >&) (this=0xb290cac0, handler=...) at /usr/include/boost/asio/detail/impl/task_io_service.hpp:50

3 0x0819ce9a in dispatch<boost::_bi::bind_t<void, void ()(libtorrent::session_status, bool, libtorrent::condition_variable, boost::asio::detail::posix_mutex, boost::function<libtorrent::session_status()>), boost::_bi::list5boost::_bi::value<libtorrent::session_status, boost::_bi::value<bool>, boost::_bi::valuelibtorrent::condition_variable, boost::_bi::valueboost::asio::detail::posix_mutex*, boost::_bi::valueboost::function<libtorrent::session_status() > > > > (this=0xb290d1f4, handler=...) at /usr/include/boost/asio/impl/io_service.hpp:91

4 libtorrent::session::status (this=0xb290ae38) at libtorrent/src/session.cpp:768

5 0x083d4eeb in getDhtNodes (dht_global_nodes=dht_global_nodes@entry=0xae6f7ad0) at src/twister.cpp:433

6 0x0838f8d1 in getinfo (params=..., fHelp=false) at src/rpcwallet.cpp:87

7 0x083586f3 in CRPCTable::execute (this=this@entry=0x860f1c0 , strMethod=..., params=...) at src/bitcoinrpc.cpp:1128

8 0x0835cc68 in ServiceConnection (conn=conn@entry=0xa85b15d8) at src/bitcoinrpc.cpp:1080

9 0x0835dee8 in RPCAcceptHandler<boost::asio::ip::tcp, boost::asio::socket_acceptor_service > (acceptor=..., context=...,

fUseSSL=false, conn=0xa85b15d8, error=...) at src/bitcoinrpc.cpp:729

10 0x08366e5d in operator()<void ()(boost::shared_ptr<boost::asio::basic_socket_acceptor >, boost::asio::ssl::context&, bool, AcceptedConnection, const boost::system::error_code&), boost::_bi::list1<const boost::system::error_code&> > (

f=@0xae6f81d0: 0x835dd20 <RPCAcceptHandler<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> >(boost::shared_ptr<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > >, boost::asio::ssl::context&, bool, AcceptedConnection*, boost::system::error_code const&)>, a=<synthetischer Zeiger>, this=0xae6f81d4) at /usr/include/boost/bind/bind.hpp:525

11 operator()boost::system::error_code (a1=..., this=0xae6f81d0) at /usr/include/boost/bind/bind_template.hpp:47

12 operator() (this=0xae6f81d0) at /usr/include/boost/asio/detail/bind_handler.hpp:47

13 asio_handler_invoke<boost::asio::detail::binder1<boost::_bi::bind_t<void, void ()(boost::shared_ptr<boost::asio::basic_socketacceptor >, boost::asio::ssl::context&, bool, AcceptedConnection, boost::system::error_code const&), boost::_bi::list5boost::_bi::value<boost::shared_ptr<boost::asio::basic_socket_acceptor >, boost::reference_wrapperboost::asio::ssl::context, boost::_bi::value, boost::bi::value<AcceptedConnectionImpl>, boost::arg<1> ()()> >, boost::system::error_code> > (

function=<Fehler beim Lesen der Variable: access outside bounds of object referenced via synthetic pointer>)
at /usr/include/boost/asio/handler_invoke_hook.hpp:64

14 invoke<boost::asio::detail::binder1<boost::_bi::bind_t<void, void ()(boost::shared_ptr<boost::asio::basic_socketacceptor >, boost::asio::ssl::context&, bool, AcceptedConnection, boost::system::error_code const&), boost::_bi::list5boost::_bi::value<boost::shared_ptr<boost::asio::basic_socket_acceptor >, boost::reference_wrapperboost::asio::ssl::context, boost::_bi::value, boost::bi::value<AcceptedConnectionImpl>, boost::arg<1> (_)()> >, boost::system::error_code>, boost::_bi::bindt<void, void ()(boost::shared_ptrboost::asio::basic_socket_acceptor, boost::asio::ssl::context&, bool, AcceptedConnection, boost::system::error_code const&), boost::_bi::list5<boost::_bi:---Type to continue, or q to quit---

:valueboost::shared_ptr<boost::asio::basic_socket_acceptor >, boost::reference_wrapperboost::asio::ssl::context, boost::_bi::value, boost::bi::value<AcceptedConnectionImpl>, boost::arg<1> (_)()> > > (context=..., function=...) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37

15 boost::asio::detail::reactive_socket_accept_op<boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service >, boost::asio::ip::tcp, boost::_bi::bind_t<void, void ()(boost::shared_ptr<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptorservice > >, boost::asio::ssl::context&, bool, AcceptedConnection, boost::system::error_code const&), boost::_bi::list5<boost::_bi::value<boost::shared_ptr<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service > > >, boost::reference_wrapperboost::asio::ssl::context, boost::_bi::value, boost::bi::value<AcceptedConnectionImpl>, boost::arg<1> ()()> > >::do_complete (owner=0x8ff11d0, base=0x8ff2088) at /usr/include/boost/asio/detail/reactive_socket_accept_op.hpp:123

16 0x0807c2ad in complete (bytes_transferred=, ec=..., owner=..., this=0x8ff1a60)

at /usr/include/boost/asio/detail/task_io_service_operation.hpp:37

17 boost::asio::detail::task_io_service::do_run_one (this=this@entry=0x8ff11d0, lock=..., this_thread=..., ec=...)

at /usr/include/boost/asio/detail/impl/task_io_service.ipp:384

18 0x080807e0 in boost::asio::detail::task_io_service::run (this=0x8ff11d0, ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:153

19 0x0808096c in boost::asio::io_service::run (this=0x8785f90) at /usr/include/boost/asio/impl/io_service.ipp:59

20 0xb7f1e683 in ?? () from /usr/lib/i386-linux-gnu/libboost_thread.so.1.54.0

21 0xb7961f70 in start_thread (arg=0xae6f8b40) at pthread_create.c:312

22 0xb774b70e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

thread apply all bt

Thread 28 (Thread 0xa8104b40 (LWP 5514)):

0 0xb7fdd424 in __kernel_vsyscall ()

1 0xb7965d4b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187

2 0x0841eb6c in leveldb::(anonymous namespace)::PosixEnv::BGThreadWrapper(void*) ()

3 0xb7961f70 in start_thread (arg=0xa8104b40) at pthread_create.c:312

4 0xb774b70e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 21 (Thread 0xab6f2b40 (LWP 5507)):

0 0xb7fdd424 in __kernel_vsyscall ()

1 0xb7965d4b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187

2 0x0807c246 in waitboost::asio::detail::scoped_lock (lock=..., this=0xab6f22a8)

at /usr/include/boost/asio/detail/posix_event.hpp:80

3 boost::asio::detail::task_io_service::do_run_one (this=this@entry=0x8ff11d0, lock=..., this_thread=..., ec=...)

at /usr/include/boost/asio/detail/impl/task_io_service.ipp:395

4 0x080807e0 in boost::asio::detail::task_io_service::run (this=0x8ff11d0, ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:153

5 0x0808096c in boost::asio::io_service::run (this=0x8785f90) at /usr/include/boost/asio/impl/io_service.ipp:59

6 0xb7f1e683 in ?? () from /usr/lib/i386-linux-gnu/libboost_thread.so.1.54.0

7 0xb7961f70 in start_thread (arg=0xab6f2b40) at pthread_create.c:312

8 0xb774b70e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 20 (Thread 0xabef3b40 (LWP 5506)):

0 0xb7fdd424 in __kernel_vsyscall ()

1 0xb7969228 in recvmsg () at ../sysdeps/unix/sysv/linux/i386/socket.S:95

2 0x080786f5 in boost::asio::detail::socket_ops::recv (s=77, bufs=0xabef2d94, count=1, flags=0, ec=...)

at /usr/include/boost/asio/detail/impl/socket_ops.ipp:714

3 0x0807975e in boost::asio::detail::socket_ops::sync_recv (s=77, state=80 'P', bufs=bufs@entry=0xabef2d94, count=count@entry=1, flags=flags@entry=0,

all_empty=false, ec=...) at /usr/include/boost/asio/detail/impl/socket_ops.ipp:741

4 0x08372794 in receiveboost::asio::mutable_buffers_1 (flags=0, this=, impl=..., impl=..., ec=..., buffers=...)

at /usr/include/boost/asio/detail/reactive_socket_service_base.hpp:254

5 receiveboost::asio::mutable_buffers_1 (this=, ec=..., flags=0, buffers=..., impl=...)

at /usr/include/boost/asio/stream_socket_service.hpp:337

6 read_someboost::asio::mutable_buffers_1 (buffers=..., this=) at /usr/include/boost/asio/basic_stream_socket.hpp:768

7 read (n=4096,

s=0xa740001c "POST / HTTP/1.1\r\nHost: 127.0.0.1:28332\r\nUser-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:30.0) Gecko/20100101 Firefox/30.0\r\nAccept: application/json, text/javascript, */*; q=0.01\r\nAccept-Language:"..., this=0xb4304be0) at src/bitcoinrpc.cpp:586

8 read<SSLIOStreamDevice > (n=4096,

s=0xa740001c "POST / HTTP/1.1\r\nHost: 127.0.0.1:28332\r\nUser-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:30.0) Gecko/20100101 Firefox/30.0\r\nAccept: application/json, text/javascript, */*; q=0.01\r\nAccept-Language:"..., t=...) at /usr/include/boost/iostreams/read.hpp:186

---Type to continue, or q to quit---

9 read<SSLIOStreamDevice > (n=4096,

s=0xa740001c "POST / HTTP/1.1\r\nHost: 127.0.0.1:28332\r\nUser-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:30.0) Gecko/20100101 Firefox/30.0\r\nAccept: application/json, text/javascript, */*; q=0.01\r\nAccept-Language:"..., t=...) at /usr/include/boost/iostreams/read.hpp:52

10 read<SSLIOStreamDevice, boost::iostreams::detail::linked_streambuf<char, std::char_traits > > (n=4096,

s=0xa740001c "POST / HTTP/1.1\r\nHost: 127.0.0.1:28332\r\nUser-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:30.0) Gecko/20100101 Firefox/30.0\r\nAccept: application/json, text/javascript, */*; q=0.01\r\nAccept-Language:"..., dev=...) at /usr/include/boost/iostreams/detail/adapter/concept_adapter.hpp:172

11 read<boost::iostreams::detail::linked_streambuf<char, std::char_traits > > (src=, n=4096,

s=0xa740001c "POST / HTTP/1.1\r\nHost: 127.0.0.1:28332\r\nUser-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:30.0) Gecko/20100101 Firefox/30.0\r\nAccept: application/json, text/javascript, */*; q=0.01\r\nAccept-Language:"..., this=0xb4304be0)
at /usr/include/boost/iostreams/detail/adapter/concept_adapter.hpp:78

12 boost::iostreams::detail::indirect_streambuf<SSLIOStreamDevice, std::char_traits, std::allocator, boost::iostreams::bidirectional>::underflow (this=0xb4304bbc) at /usr/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:258

13 0xb78b863b in ?? () from /usr/lib/i386-linux-gnu/libstdc++.so.6

14 0xb78d4cd5 in std::basic_istream<char, std::char_traits >& std::getline<char, std::char_traits, std::allocator >(std::basic_istream<char, std::char_traits >&, std::basic_string<char, std::char_traits, std::allocator >&, char) () from /usr/lib/i386-linux-gnu/libstdc++.so.6

15 0x08359155 in getline<char, std::char_traits, std::allocator > (str=..., is=...) at /usr/include/c++/4.8/bits/basic_string.h:2795

16 ReadHTTPRequestLine (stream=..., proto=@0xabef2f1c: 0, http_method=..., http_uri=...) at src/bitcoinrpc.cpp:379

17 0x0835bb8c in ServiceConnection (conn=conn@entry=0xb4304af0) at src/bitcoinrpc.cpp:974

18 0x0835dee8 in RPCAcceptHandler<boost::asio::ip::tcp, boost::asio::socket_acceptor_service > (acceptor=..., context=...,

fUseSSL=false, conn=0xb4304af0, error=...) at src/bitcoinrpc.cpp:729

19 0x08366e5d in operator()<void ()(boost::shared_ptr<boost::asio::basic_socket_acceptor >, boost::asio::ssl::context&, bool, AcceptedConnection, const boost::system::error_code&), boost::_bi::list1<const boost::system::error_code&> > (

f=@0xabef31d0: 0x835dd20 <RPCAcceptHandler<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> >(boost::shared_ptr<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > >, boost::asio::ssl::context&, bool, AcceptedConnection*, boost::system::error_code const&)>, a=<synthetischer Zeiger>, this=0xabef31d4) at /usr/include/boost/bind/bind.hpp:525

20 operator()boost::system::error_code (a1=..., this=0xabef31d0) at /usr/include/boost/bind/bind_template.hpp:47

21 operator() (this=0xabef31d0) at /usr/include/boost/asio/detail/bind_handler.hpp:47

22 asio_handler_invoke<boost::asio::detail::binder1<boost::_bi::bind_t<void, void ()(boost::shared_ptr<boost::asio::basic_socketacceptor >, boost::asio::ssl::context&, bool, AcceptedConnection, boost::system::error_code const&), boost::_bi::list5boost::_bi::value<boost::shared_ptr<boost::asio::basic_socket_acceptor >, boost::reference_wrapperboost::asio::ssl::context, boost::_bi::value, boost::bi::value<AcceptedConnectionImpl>, boost::arg<1> ()()> >, boost::system::error_code> > (

function=<Fehler beim Lesen der Variable: access outside bounds of object referenced via synthetic pointer>)
at /usr/include/boost/asio/handler_invoke_hook.hpp:64

23 invoke<boost::asio::detail::binder1<boost::_bi::bind_t<void, void ()(boost::shared_ptr<boost::asio::basic_socketacceptor >, boost::asio::ssl::context&, bool, AcceptedConnection, boost::system::error_code const&), boost::_bi::list5boost::_bi::value<boost::shared_ptr<boost::asio::basic_socket_acceptor >, boost::reference_wrapperboost::asio::ssl::context, boost::_bi::value, boost::bi::value<AcceptedConnectionImpl>, boost::arg<1> (_)()> >, boost::system::error_code>, boost::_bi::bindt<void, void ()(boost::shared_ptrboost::asio::basic_socket_acceptor, boost::asio::ssl::context&, bool, AcceptedConnection, boost::system::error_code const&), boost::_bi::list5boost::_bi::value<boost::shared_ptr<boost::asio::basic_socket_acceptor >, boost::reference_wrapperboost::asio::ssl::context, boost::_bi::value---Type to continue, or q to quit---

, boost::_bi::value_>, boost::arg<1> (_)()> > > (context=..., function=...) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37 #24 boost::asio::detail::reactive_socket_accept_op >, boost::asio::ip::tcp, boost::_bi::bind_t > >, boost::asio::ssl::context&, bool, AcceptedConnection_, boost::system::error_code const&), boost::_bi::list5 > > >, boost::reference_wrapperboost::asio::ssl::context, boost::_bi::value, boost::_bi::value_>, boost::arg<1> (*)()> > >::do_complete (owner=0x8ff11d0, base=0x8ff2088) at /usr/include/boost/asio/detail/reactive_socket_accept_op.hpp:123 #25 0x0807c2ad in complete (bytes_transferred=, ec=..., owner=..., this=0x8ff1a60) ``` at /usr/include/boost/asio/detail/task_io_service_operation.hpp:37 ``` #26 boost::asio::detail::task_io_service::do_run_one (this=this@entry=0x8ff11d0, lock=..., this_thread=..., ec=...) ``` at /usr/include/boost/asio/detail/impl/task_io_service.ipp:384 ``` #27 0x080807e0 in boost::asio::detail::task_io_service::run (this=0x8ff11d0, ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:153 #28 0x0808096c in boost::asio::io_service::run (this=0x8785f90) at /usr/include/boost/asio/impl/io_service.ipp:59 #29 0xb7f1e683 in ?? () from /usr/lib/i386-linux-gnu/libboost_thread.so.1.54.0 #30 0xb7961f70 in start_thread (arg=0xabef3b40) at pthread_create.c:312 #31 0xb774b70e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129 Thread 19 (Thread 0xac6f4b40 (LWP 5505)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb7969228 in recvmsg () at ../sysdeps/unix/sysv/linux/i386/socket.S:95 #2 0x080786f5 in boost::asio::detail::socket_ops::recv (s=64, bufs=0xac6f3d94, count=1, flags=0, ec=...) ``` at /usr/include/boost/asio/detail/impl/socket_ops.ipp:714 ``` #3 0x0807975e in boost::asio::detail::socket_ops::sync_recv (s=64, state=80 'P', bufs=bufs@entry=0xac6f3d94, count=count@entry=1, flags=flags@entry=0, ``` all_empty=false, ec=...) at /usr/include/boost/asio/detail/impl/socket_ops.ipp:741 ``` #4 0x08372794 in receiveboost::asio::mutable_buffers_1 (flags=0, this=, impl=..., impl=..., ec=..., buffers=...) ``` at /usr/include/boost/asio/detail/reactive_socket_service_base.hpp:254 ``` #5 receiveboost::asio::mutable_buffers_1 (this=, ec=..., flags=0, buffers=..., impl=...) ``` at /usr/include/boost/asio/stream_socket_service.hpp:337 ``` #6 read_someboost::asio::mutable_buffers_1 (buffers=..., this=) at /usr/include/boost/asio/basic_stream_socket.hpp:768 #7 read (n=4096, ``` s=0xa061a94 "POST / HTTP/1.1\r\nHost: 127.0.0.1:28332\r\nUser-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:30.0) Gecko/20100101 Firefox/30.0\r\nAccept: application/json, text/javascript, */*; q=0.01\r\nAccept-Language:"..., this=0xa26a8e8) at src/bitcoinrpc.cpp:586 ``` #8 read > (n=4096, ``` s=0xa061a94 "POST / HTTP/1.1\r\nHost: 127.0.0.1:28332\r\nUser-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:30.0) Gecko/20100101 Firefox/30.0\r\nAccept: application/json, text/javascript, */*; q=0.01\r\nAccept-Language:"..., t=...) at /usr/include/boost/iostreams/read.hpp:186 ``` #9 read > (n=4096, ``` s=0xa061a94 "POST / HTTP/1.1\r\nHost: 127.0.0.1:28332\r\nUser-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:30.0) Gecko/20100101 Firefox/30.0\r\nAccept: application/json, text/javascript, */*; q=0.01\r\nAccept-Language:"..., t=...) at /usr/include/boost/iostreams/read.hpp:52 ``` ---Type to continue, or q to quit--- #10 read, boost::iostreams::detail::linked_streambuf > > (n=4096, ``` s=0xa061a94 "POST / HTTP/1.1\r\nHost: 127.0.0.1:28332\r\nUser-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:30.0) Gecko/20100101 Firefox/30.0\r\nAccept: application/json, text/javascript, */*; q=0.01\r\nAccept-Language:"..., dev=...) at /usr/include/boost/iostreams/detail/adapter/concept_adapter.hpp:172 ``` #11 read > > (src=, n=4096, ``` s=0xa061a94 "POST / HTTP/1.1\r\nHost: 127.0.0.1:28332\r\nUser-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:30.0) Gecko/20100101 Firefox/30.0\r\nAccept: application/json, text/javascript, */*; q=0.01\r\nAccept-Language:"..., this=0xa26a8e8) at /usr/include/boost/iostreams/detail/adapter/concept_adapter.hpp:78 ``` #12 boost::iostreams::detail::indirect_streambuf, std::char_traits, std::allocator, boost::iostreams::bidirectional>::underflow (this=0xa26a8c4) at /usr/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:258 #13 0xb78b863b in ?? () from /usr/lib/i386-linux-gnu/libstdc++.so.6 #14 0xb78d4cd5 in std::basic_istream >& std::getline, std::allocator >(std::basic_istream >&, std::basic_string, std::allocator >&, char) () from /usr/lib/i386-linux-gnu/libstdc++.so.6 #15 0x08359155 in getline, std::allocator > (__str=..., __is=...) at /usr/include/c++/4.8/bits/basic_string.h:2795 #16 ReadHTTPRequestLine (stream=..., proto=@0xac6f3f1c: 0, http_method=..., http_uri=...) at src/bitcoinrpc.cpp:379 #17 0x0835bb8c in ServiceConnection (conn=conn@entry=0xa26a7f8) at src/bitcoinrpc.cpp:974 #18 0x0835dee8 in RPCAcceptHandler > (acceptor=..., context=..., ``` fUseSSL=false, conn=0xa26a7f8, error=...) at src/bitcoinrpc.cpp:729 ``` #19 0x08366e5d in operator() >, boost::asio::ssl::context&, bool, AcceptedConnection*, const boost::system::error_code&), boost::_bi::list1 > ( ``` f=@0xac6f41d0: 0x835dd20 >(boost::shared_ptr > >, boost::asio::ssl::context&, bool, AcceptedConnection*, boost::system::error_code const&)>, a=, this=0xac6f41d4) at /usr/include/boost/bind/bind.hpp:525 ``` #20 operator()boost::system::error_code (a1=..., this=0xac6f41d0) at /usr/include/boost/bind/bind_template.hpp:47 #21 operator() (this=0xac6f41d0) at /usr/include/boost/asio/detail/bind_handler.hpp:47 #22 asio_handler_invoke >, boost::asio::ssl::context&, bool, AcceptedConnection_, boost::system::error_code const&), boost::_bi::list5boost::_bi::value >, boost::reference_wrapperboost::asio::ssl::context, boost::_bi::value, boost::_bi::value_>, boost::arg<1> (*)()> >, boost::system::error_code> > ( ``` function=) at /usr/include/boost/asio/handler_invoke_hook.hpp:64 ``` #23 invoke >, boost::asio::ssl::context&, bool, AcceptedConnection_, boost::system::error_code const&), boost::_bi::list5boost::_bi::value >, boost::reference_wrapperboost::asio::ssl::context, boost::_bi::value, boost::_bi::value_>, boost::arg<1> (_)()> >, boost::system::error_code>, boost::_bi::bind_t, boost::asio::ssl::context&, bool, AcceptedConnection_, boost::system::error_code const&), boost::_bi::list5boost::_bi::value >, boost::reference_wrapperboost::asio::ssl::context, boost::_bi::value, boost::_bi::value_>, boost::arg<1> (*)()> > > (context=..., function=...) ``` at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37 ``` #24 boost::asio::detail::reactive_socket_accept_op >---Type to continue, or q to quit--- , boost::asio::ip::tcp, boost::_bi::bind_t > >, boost::asio::ssl::context&, bool, AcceptedConnection_, boost::system::error_code const&), boost::_bi::list5 > > >, boost::reference_wrapperboost::asio::ssl::context, boost::_bi::value, boost::_bi::value_>, boost::arg<1> (*)()> > >::do_complete (owner=0x8ff11d0, base=0x8ff2088) at /usr/include/boost/asio/detail/reactive_socket_accept_op.hpp:123 #25 0x0807c2ad in complete (bytes_transferred=, ec=..., owner=..., this=0x8ff1a60) ``` at /usr/include/boost/asio/detail/task_io_service_operation.hpp:37 ``` #26 boost::asio::detail::task_io_service::do_run_one (this=this@entry=0x8ff11d0, lock=..., this_thread=..., ec=...) ``` at /usr/include/boost/asio/detail/impl/task_io_service.ipp:384 ``` #27 0x080807e0 in boost::asio::detail::task_io_service::run (this=0x8ff11d0, ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:153 #28 0x0808096c in boost::asio::io_service::run (this=0x8785f90) at /usr/include/boost/asio/impl/io_service.ipp:59 #29 0xb7f1e683 in ?? () from /usr/lib/i386-linux-gnu/libboost_thread.so.1.54.0 #30 0xb7961f70 in start_thread (arg=0xac6f4b40) at pthread_create.c:312 #31 0xb774b70e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129 Thread 18 (Thread 0xacef5b40 (LWP 5504)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb7965d4b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0x0807c246 in waitboost::asio::detail::scoped_lock (lock=..., this=0xacef52a8) ``` at /usr/include/boost/asio/detail/posix_event.hpp:80 ``` #3 boost::asio::detail::task_io_service::do_run_one (this=this@entry=0x8ff11d0, lock=..., this_thread=..., ec=...) ``` at /usr/include/boost/asio/detail/impl/task_io_service.ipp:395 ``` #4 0x080807e0 in boost::asio::detail::task_io_service::run (this=0x8ff11d0, ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:153 #5 0x0808096c in boost::asio::io_service::run (this=0x8785f90) at /usr/include/boost/asio/impl/io_service.ipp:59 #6 0xb7f1e683 in ?? () from /usr/lib/i386-linux-gnu/libboost_thread.so.1.54.0 #7 0xb7961f70 in start_thread (arg=0xacef5b40) at pthread_create.c:312 #8 0xb774b70e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129 Thread 17 (Thread 0xad6f6b40 (LWP 5503)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb774c1b6 in epoll_wait () at ../sysdeps/unix/syscall-template.S:81 #2 0x08076f54 in boost::asio::detail::epoll_reactor::run (this=0x8ff19d8, block=true, ops=...) at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:392 #3 0x0807c129 in boost::asio::detail::task_io_service::do_run_one (this=this@entry=0x8ff11d0, lock=..., this_thread=..., ec=...) ``` at /usr/include/boost/asio/detail/impl/task_io_service.ipp:368 ``` #4 0x080807e0 in boost::asio::detail::task_io_service::run (this=0x8ff11d0, ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:153 #5 0x0808096c in boost::asio::io_service::run (this=0x8785f90) at /usr/include/boost/asio/impl/io_service.ipp:59 #6 0xb7f1e683 in ?? () from /usr/lib/i386-linux-gnu/libboost_thread.so.1.54.0 #7 0xb7961f70 in start_thread (arg=0xad6f6b40) at pthread_create.c:312 #8 0xb774b70e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129 ---Type to continue, or q to quit--- Thread 16 (Thread 0xadef7b40 (LWP 5502)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb7965d4b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0x0807c246 in waitboost::asio::detail::scoped_lock (lock=..., this=0xadef72a8) ``` at /usr/include/boost/asio/detail/posix_event.hpp:80 ``` #3 boost::asio::detail::task_io_service::do_run_one (this=this@entry=0x8ff11d0, lock=..., this_thread=..., ec=...) ``` at /usr/include/boost/asio/detail/impl/task_io_service.ipp:395 ``` #4 0x080807e0 in boost::asio::detail::task_io_service::run (this=0x8ff11d0, ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:153 #5 0x0808096c in boost::asio::io_service::run (this=0x8785f90) at /usr/include/boost/asio/impl/io_service.ipp:59 #6 0xb7f1e683 in ?? () from /usr/lib/i386-linux-gnu/libboost_thread.so.1.54.0 #7 0xb7961f70 in start_thread (arg=0xadef7b40) at pthread_create.c:312 #8 0xb774b70e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129 Thread 15 (Thread 0xae6f8b40 (LWP 5501)): #0 push (h=0xb4304c98, this=0xb290cb08) at /usr/include/boost/asio/detail/op_queue.hpp:110 #1 boost::asio::detail::task_io_service::do_dispatch (this=this@entry=0xb290cac0, op=op@entry=0xb4304c98) ``` at /usr/include/boost/asio/detail/impl/task_io_service.ipp:326 ``` #2 0x081ad4b6 in boost::asio::detail::task_io_service::dispatch), boost::_bi::list5boost::_bi::value, boost::_bi::valuelibtorrent::condition_variable*, boost::_bi::valueboost::asio::detail::posix_mutex*, boost::_bi::value > > > >(boost::_bi::bind_t), boost::_bi::list5boost::_bi::value, boost::_bi::valuelibtorrent::condition_variable*, boost::_bi::valueboost::asio::detail::posix_mutex*, boost::_bi::value > > >&) (this=0xb290cac0, handler=...) at /usr/include/boost/asio/detail/impl/task_io_service.hpp:50 #3 0x0819ce9a in dispatch), boost::_bi::list5boost::_bi::value, boost::_bi::valuelibtorrent::condition_variable*, boost::_bi::valueboost::asio::detail::posix_mutex*, boost::_bi::valueboost::function > > > (this=0xb290d1f4, handler=...) at /usr/include/boost/asio/impl/io_service.hpp:91 #4 libtorrent::session::status (this=0xb290ae38) at libtorrent/src/session.cpp:768 #5 0x083d4eeb in getDhtNodes (dht_global_nodes=dht_global_nodes@entry=0xae6f7ad0) at src/twister.cpp:433 #6 0x0838f8d1 in getinfo (params=..., fHelp=false) at src/rpcwallet.cpp:87 #7 0x083586f3 in CRPCTable::execute (this=this@entry=0x860f1c0 , strMethod=..., params=...) at src/bitcoinrpc.cpp:1128 #8 0x0835cc68 in ServiceConnection (conn=conn@entry=0xa85b15d8) at src/bitcoinrpc.cpp:1080 #9 0x0835dee8 in RPCAcceptHandler > (acceptor=..., context=..., ``` fUseSSL=false, conn=0xa85b15d8, error=...) at src/bitcoinrpc.cpp:729 ``` #10 0x08366e5d in operator() >, boost::asio::ssl::context&, bool, AcceptedConnection*, const boost::system::error_code&), boost::_bi::list1 > ( ``` f=@0xae6f81d0: 0x835dd20 >(boost::shared_ptr to continue, or q to quit--- ``` io::basic_socket_acceptor > >, boost::asio::ssl::context&, bool, AcceptedConnection*, boost::system::error_code const&)>, a=, this=0xae6f81d4) at /usr/include/boost/bind/bind.hpp:525 #11 operator()boost::system::error_code (a1=..., this=0xae6f81d0) at /usr/include/boost/bind/bind_template.hpp:47 #12 operator() (this=0xae6f81d0) at /usr/include/boost/asio/detail/bind_handler.hpp:47 #13 asio_handler_invoke >, boost::asio::ssl::context&, bool, AcceptedConnection_, boost::system::error_code const&), boost::_bi::list5boost::_bi::value >, boost::reference_wrapperboost::asio::ssl::context, boost::_bi::value, boost::_bi::value_>, boost::arg<1> (*)()> >, boost::system::error_code> > ( ``` function=) at /usr/include/boost/asio/handler_invoke_hook.hpp:64 ``` #14 invoke >, boost::asio::ssl::context&, bool, AcceptedConnection_, boost::system::error_code const&), boost::_bi::list5boost::_bi::value >, boost::reference_wrapperboost::asio::ssl::context, boost::_bi::value, boost::_bi::value_>, boost::arg<1> (_)()> >, boost::system::error_code>, boost::_bi::bind_t, boost::asio::ssl::context&, bool, AcceptedConnection_, boost::system::error_code const&), boost::_bi::list5boost::_bi::value >, boost::reference_wrapperboost::asio::ssl::context, boost::_bi::value, boost::_bi::value_>, boost::arg<1> (*)()> > > (context=..., function=...) ``` at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37 ``` #15 boost::asio::detail::reactive_socket_accept_op >, boost::asio::ip::tcp, boost::_bi::bind_t > >, boost::asio::ssl::context&, bool, AcceptedConnection_, boost::system::error_code const&), boost::_bi::list5 > > >, boost::reference_wrapperboost::asio::ssl::context, boost::_bi::value, boost::_bi::value_>, boost::arg<1> (*)()> > >::do_complete (owner=0x8ff11d0, base=0x8ff2088) at /usr/include/boost/asio/detail/reactive_socket_accept_op.hpp:123 #16 0x0807c2ad in complete (bytes_transferred=, ec=..., owner=..., this=0x8ff1a60) ``` at /usr/include/boost/asio/detail/task_io_service_operation.hpp:37 ``` #17 boost::asio::detail::task_io_service::do_run_one (this=this@entry=0x8ff11d0, lock=..., this_thread=..., ec=...) ``` at /usr/include/boost/asio/detail/impl/task_io_service.ipp:384 ``` #18 0x080807e0 in boost::asio::detail::task_io_service::run (this=0x8ff11d0, ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:153 #19 0x0808096c in boost::asio::io_service::run (this=0x8785f90) at /usr/include/boost/asio/impl/io_service.ipp:59 #20 0xb7f1e683 in ?? () from /usr/lib/i386-linux-gnu/libboost_thread.so.1.54.0 #21 0xb7961f70 in start_thread (arg=0xae6f8b40) at pthread_create.c:312 #22 0xb774b70e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129 Thread 14 (Thread 0xaeef9b40 (LWP 5500)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb7969228 in recvmsg () at ../sysdeps/unix/sysv/linux/i386/socket.S:95 #2 0x080786f5 in boost::asio::detail::socket_ops::recv (s=58, bufs=0xaeef8d94, count=1, flags=0, ec=...) ``` at /usr/include/boost/asio/detail/impl/socket_ops.ipp:714 ``` ---Type to continue, or q to quit--- #3 0x0807975e in boost::asio::detail::socket_ops::sync_recv (s=58, state=80 'P', bufs=bufs@entry=0xaeef8d94, count=count@entry=1, flags=flags@entry=0, ``` all_empty=false, ec=...) at /usr/include/boost/asio/detail/impl/socket_ops.ipp:741 ``` #4 0x08372794 in receiveboost::asio::mutable_buffers_1 (flags=0, this=, impl=..., impl=..., ec=..., buffers=...) ``` at /usr/include/boost/asio/detail/reactive_socket_service_base.hpp:254 ``` #5 receiveboost::asio::mutable_buffers_1 (this=, ec=..., flags=0, buffers=..., impl=...) ``` at /usr/include/boost/asio/stream_socket_service.hpp:337 ``` #6 read_someboost::asio::mutable_buffers_1 (buffers=..., this=) at /usr/include/boost/asio/basic_stream_socket.hpp:768 #7 read (n=4096, ``` s=0xa740fa4c "POST / HTTP/1.1\r\nHost: 127.0.0.1:28332\r\nUser-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:30.0) Gecko/20100101 Firefox/30.0\r\nAccept: application/json, text/javascript, */*; q=0.01\r\nAccept-Language:"..., this=0xb4331438) at src/bitcoinrpc.cpp:586 ``` #8 read > (n=4096, ``` s=0xa740fa4c "POST / HTTP/1.1\r\nHost: 127.0.0.1:28332\r\nUser-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:30.0) Gecko/20100101 Firefox/30.0\r\nAccept: application/json, text/javascript, */*; q=0.01\r\nAccept-Language:"..., t=...) at /usr/include/boost/iostreams/read.hpp:186 ``` #9 read > (n=4096, ``` s=0xa740fa4c "POST / HTTP/1.1\r\nHost: 127.0.0.1:28332\r\nUser-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:30.0) Gecko/20100101 Firefox/30.0\r\nAccept: application/json, text/javascript, */*; q=0.01\r\nAccept-Language:"..., t=...) at /usr/include/boost/iostreams/read.hpp:52 ``` #10 read, boost::iostreams::detail::linked_streambuf > > (n=4096, ``` s=0xa740fa4c "POST / HTTP/1.1\r\nHost: 127.0.0.1:28332\r\nUser-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:30.0) Gecko/20100101 Firefox/30.0\r\nAccept: application/json, text/javascript, */*; q=0.01\r\nAccept-Language:"..., dev=...) at /usr/include/boost/iostreams/detail/adapter/concept_adapter.hpp:172 ``` #11 read > > (src=, n=4096, ``` s=0xa740fa4c "POST / HTTP/1.1\r\nHost: 127.0.0.1:28332\r\nUser-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:30.0) Gecko/20100101 Firefox/30.0\r\nAccept: application/json, text/javascript, */*; q=0.01\r\nAccept-Language:"..., this=0xb4331438) at /usr/include/boost/iostreams/detail/adapter/concept_adapter.hpp:78 ``` #12 boost::iostreams::detail::indirect_streambuf, std::char_traits, std::allocator, boost::iostreams::bidirectional>::underflow (this=0xb4331414) at /usr/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:258 #13 0xb78b863b in ?? () from /usr/lib/i386-linux-gnu/libstdc++.so.6 #14 0xb78d4cd5 in std::basic_istream >& std::getline, std::allocator >(std::basic_istream >&, std::basic_string, std::allocator >&, char) () from /usr/lib/i386-linux-gnu/libstdc++.so.6 #15 0x08359155 in getline, std::allocator > (__str=..., __is=...) at /usr/include/c++/4.8/bits/basic_string.h:2795 #16 ReadHTTPRequestLine (stream=..., proto=@0xaeef8f1c: 0, http_method=..., http_uri=...) at src/bitcoinrpc.cpp:379 #17 0x0835bb8c in ServiceConnection (conn=conn@entry=0xb4331348) at src/bitcoinrpc.cpp:974 #18 0x0835dee8 in RPCAcceptHandler > (acceptor=..., context=..., ``` fUseSSL=false, conn=0xb4331348, error=...) at src/bitcoinrpc.cpp:729 ``` #19 0x08366e5d in operator() >, boost::asio::ssl::context&, bool, AcceptedConnection*, const boost::system::error_code&), boost::_bi::list1 > ( ``` f=@0xaeef91d0: 0x835dd20 >(boost::shared_ptr > >, boost::asio::ssl::context&, bool, AcceptedConnection*, boost::system::error_code const&)>, a=, this=0xaeef91d4) at /usr/include/boost/bind/bind.hpp:525 ``` #20 operator()boost::system::error_code (a1=..., this=0xaeef91d0) at /usr/include/boost/bind/bind_template.hpp:47 ---Type to continue, or q to quit--- #21 operator() (this=0xaeef91d0) at /usr/include/boost/asio/detail/bind_handler.hpp:47 #22 asio_handler_invoke >, boost::asio::ssl::context&, bool, AcceptedConnection_, boost::system::error_code const&), boost::_bi::list5boost::_bi::value >, boost::reference_wrapperboost::asio::ssl::context, boost::_bi::value, boost::_bi::value_>, boost::arg<1> (*)()> >, boost::system::error_code> > ( ``` function=) at /usr/include/boost/asio/handler_invoke_hook.hpp:64 ``` #23 invoke >, boost::asio::ssl::context&, bool, AcceptedConnection_, boost::system::error_code const&), boost::_bi::list5boost::_bi::value >, boost::reference_wrapperboost::asio::ssl::context, boost::_bi::value, boost::_bi::value_>, boost::arg<1> (_)()> >, boost::system::error_code>, boost::_bi::bind_t, boost::asio::ssl::context&, bool, AcceptedConnection_, boost::system::error_code const&), boost::_bi::list5boost::_bi::value >, boost::reference_wrapperboost::asio::ssl::context, boost::_bi::value, boost::_bi::value_>, boost::arg<1> (*)()> > > (context=..., function=...) ``` at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37 ``` #24 boost::asio::detail::reactive_socket_accept_op >, boost::asio::ip::tcp, boost::_bi::bind_t > >, boost::asio::ssl::context&, bool, AcceptedConnection_, boost::system::error_code const&), boost::_bi::list5 > > >, boost::reference_wrapperboost::asio::ssl::context, boost::_bi::value, boost::_bi::value_>, boost::arg<1> (*)()> > >::do_complete (owner=0x8ff11d0, base=0x8ff2088) at /usr/include/boost/asio/detail/reactive_socket_accept_op.hpp:123 #25 0x0807c2ad in complete (bytes_transferred=, ec=..., owner=..., this=0x8ff1a60) ``` at /usr/include/boost/asio/detail/task_io_service_operation.hpp:37 ``` #26 boost::asio::detail::task_io_service::do_run_one (this=this@entry=0x8ff11d0, lock=..., this_thread=..., ec=...) ``` at /usr/include/boost/asio/detail/impl/task_io_service.ipp:384 ``` #27 0x080807e0 in boost::asio::detail::task_io_service::run (this=0x8ff11d0, ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:153 #28 0x0808096c in boost::asio::io_service::run (this=0x8785f90) at /usr/include/boost/asio/impl/io_service.ipp:59 #29 0xb7f1e683 in ?? () from /usr/lib/i386-linux-gnu/libboost_thread.so.1.54.0 #30 0xb7961f70 in start_thread (arg=0xaeef9b40) at pthread_create.c:312 #31 0xb774b70e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129 Thread 13 (Thread 0xaf6fab40 (LWP 5499)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb7965d4b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0x0807c246 in waitboost::asio::detail::scoped_lock (lock=..., this=0xaf6fa2a8) ``` at /usr/include/boost/asio/detail/posix_event.hpp:80 ``` #3 boost::asio::detail::task_io_service::do_run_one (this=this@entry=0x8ff11d0, lock=..., this_thread=..., ec=...) ``` at /usr/include/boost/asio/detail/impl/task_io_service.ipp:395 ``` #4 0x080807e0 in boost::asio::detail::task_io_service::run (this=0x8ff11d0, ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:153 ---Type to continue, or q to quit--- #5 0x0808096c in boost::asio::io_service::run (this=0x8785f90) at /usr/include/boost/asio/impl/io_service.ipp:59 #6 0xb7f1e683 in ?? () from /usr/lib/i386-linux-gnu/libboost_thread.so.1.54.0 #7 0xb7961f70 in start_thread (arg=0xaf6fab40) at pthread_create.c:312 #8 0xb774b70e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129 Thread 12 (Thread 0xafefbb40 (LWP 5498)): #0 0xb7fdd424 in __kernel_vsyscall () #1 0xb7965d4b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187 #2 0x0807c246 in waitboost::asio::detail::scoped_lock (lock=..., this=0xafefb2a8) ``` at /usr/include/boost/asio/detail/posix_event.hpp:80 ``` #3 boost::asio::detail::task_io_service::do_run_one (this=this@entry=0x8ff11d0, lock=..., this_thread=..., ec=...) ``` at /usr/include/boost/asio/detail/impl/task_io_service.ipp:395 ``` #4 0x080807e0 in boost::asio::detail::task_io_service::run (this=0x8ff11d0, ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:153 #5 0x0808096c in boost::asio::io_service::run (this=0x8785f90) at /usr/include/boost/asio/impl/io_service.ipp:59 #6 0xb7f1e683 in ?? () from /usr/lib/i386-linux-gnu/libboost_thread.so.1.54.0 #7 0xb7961f70 in start_thread (arg=0xafefbb40) at pthread_create.c:312 #8 0xb774b70e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129 Thread 1 (Thread 0xb5c5d700 (LWP 5484)): #0 0xb76d3038 in malloc_consolidate (av=0xb780a420 ) at malloc.c:4146 #1 0xb76d3a9b in _int_free (av=0xb780a420 , p=, have_lock=0) at malloc.c:4057 #2 0xb78ba9df in operator delete(void*) () from /usr/lib/i386-linux-gnu/libstdc++.so.6 #3 0xb78baa2b in operator delete[](void*) () from /usr/lib/i386-linux-gnu/libstdc++.so.6 #4 0x081cf932 in free (block=) at /usr/include/boost/pool/pool.hpp:102 #5 boost::object_pool::~object_pool (this=0xb290d13c, __in_chrg=) ``` at /usr/include/boost/pool/object_pool.hpp:261 ``` #6 0x081c3371 in libtorrent::aux::session_impl::~session_impl (this=0xb290ce90, __in_chrg=) at libtorrent/src/session_impl.cpp:5884 #7 0x081c3940 in libtorrent::aux::session_impl::~session_impl (this=0xb290ce90, __in_chrg=) at libtorrent/src/session_impl.cpp:5926 #8 0x0806a578 in boost::detail::sp_counted_base::release (this=0xb290e2d0) at /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:146 #9 0x08198add in ~shared_count (this=0xb290ae3c, __in_chrg=) at /usr/include/boost/smart_ptr/detail/shared_count.hpp:371 #10 ~shared_ptr (this=0xb290ae38, __in_chrg=) at /usr/include/boost/smart_ptr/shared_ptr.hpp:328 #11 libtorrent::session::~session (this=0xb290ae38, __in_chrg=) at libtorrent/src/session.cpp:455 #12 0x083db186 in stopSessionTorrent () at src/twister.cpp:795 #13 0x082e5c10 in Shutdown () at src/init.cpp:121 #14 0x082ffa56 in AppInit (argc=argc@entry=12, argv=argv@entry=0xbffff0c4) at src/bitcoind.cpp:121 #15 0x080643f7 in main (argc=12, argv=0xbffff0c4) at src/bitcoind.cpp:139 peers at one point during session --- [ { "addr" : "146.185.131.214:28333", "services" : "00000001", "lastsend" : 1402927007, "lastrecv" : 1402927007, "bytessent" : 6182, "bytesrecv" : 78159, "conntime" : 1402918954, "version" : 70002, "subver" : "/twisterd:0.9.20/", "inbound" : false, "startingheight" : 40217, "banscore" : 0, "syncnode" : true }, { "addr" : "89.184.72.97:28333", "services" : "00000001", "lastsend" : 1402927007, "lastrecv" : 1402927007, "bytessent" : 4731, "bytesrecv" : 79024, "conntime" : 1402918993, "version" : 70002, "subver" : "/twisterd:0.9.19/", "inbound" : false, "startingheight" : 40217, "banscore" : 0 }, { "addr" : "200.152.124.103:28333", "services" : "00000001", "lastsend" : 1402927007, "lastrecv" : 1402927007, "bytessent" : 7384, "bytesrecv" : 78997, "conntime" : 1402919008, "version" : 70002, "subver" : "/twisterd:0.9.20/", "inbound" : false, "startingheight" : 40217, "banscore" : 0 }, { "addr" : "78.213.138.119:28333", "services" : "00000001", "lastsend" : 1402927007, "lastrecv" : 1402927007, "bytessent" : 8669, "bytesrecv" : 83671, "conntime" : 1402919019, "version" : 70002, "subver" : "/twisterd:0.9.20/", "inbound" : false, "startingheight" : 40217, "banscore" : 0 }, { "addr" : "188.233.88.39:28333", "services" : "00000001", "lastsend" : 1402927007, "lastrecv" : 1402927007, "bytessent" : 8492, "bytesrecv" : 81931, "conntime" : 1402919020, "version" : 70002, "subver" : "/twisterd:0.9.20/", "inbound" : false, "startingheight" : 40217, "banscore" : 0 }, { "addr" : "188.165.207.160:28333", "services" : "00000001", "lastsend" : 1402927003, "lastrecv" : 1402927007, "bytessent" : 4243, "bytesrecv" : 78104, "conntime" : 1402919186, "version" : 70002, "subver" : "/twisterd:0.9.21/", "inbound" : false, "startingheight" : 40217, "banscore" : 0 }, { "addr" : "78.193.16.47:28333", "services" : "00000001", "lastsend" : 1402927007, "lastrecv" : 1402927007, "bytessent" : 6931, "bytesrecv" : 78237, "conntime" : 1402919248, "version" : 70002, "subver" : "/twisterd:0.9.21/", "inbound" : false, "startingheight" : 40217, "banscore" : 0 }, { "addr" : "85.159.209.154:28333", "services" : "00000001", "lastsend" : 1402927007, "lastrecv" : 1402927007, "bytessent" : 3530, "bytesrecv" : 79152, "conntime" : 1402919334, "version" : 70002, "subver" : "/twisterd:0.9.21/", "inbound" : false, "startingheight" : 40217, "banscore" : 0 } ] logs --- 2014-06-16 15:54:53 ThreadRPCServer method=getdirectmsgs 2014-06-16 15:54:55 ThreadRPCServer method=stop 2014-06-16 15:54:55 saving resume data 2014-06-16 15:54:55 dumpaddr thread stop 2014-06-16 15:54:55 maintain-dht-nodes thread exit 2014-06-16 15:54:55 opencon thread interrupt 2014-06-16 15:54:55 addcon thread interrupt 2014-06-16 15:54:55 msghand thread interrupt 2014-06-16 15:54:55 net thread interrupt 2014-06-16 15:54:55 skipping , resume file up-to-date last line: repeats a few times 2014-06-16 15:54:55 skipping , resume file up-to-date 2014-06-16 15:54:55 waiting for resume data [2] 2014-06-16 15:54:55 twister threads to join = 1 2014-06-16 15:54:56 session-alerts thread exit 2014-06-16 15:54:56 twister threads to join = 0 2014-06-16 15:54:56 saving session state 2014-06-16 15:54:56 node dht: saving storage... (storage_table.size = 10647)
miguelfreitas commented 10 years ago

Ok, good report. We need to have some mutual exclusion between the libtorrent::session (ses) deletion (twister.cpp:729) and command execution (like twister.cpp:433 from getinfo).

In other words: we tried deleting the libtorrent object while it was still being used by getinfo RPC.

I think the proper fix is not a simple mutex on "ses" usage: we don't want an exclusion preventing simultaneous libtorrent access as it would hurt performance. We need either a sort or read-write locker or a pointer container with usage counter. I'm not sure what good boost templates are provided for us to use in this case.

miguelfreitas commented 10 years ago

commited fix. please check!