Created
June 27, 2014 15:50
-
-
Save veox/5d02be8b83780f6513e4 to your computer and use it in GitHub Desktop.
GDB backtrace: Darkwallet crashes Obelisk
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#0 0x00007ffff58fa475 in raise () from /lib/x86_64-linux-gnu/libc.so.6 | |
No symbol table info available. | |
#1 0x00007ffff58fd6f0 in abort () from /lib/x86_64-linux-gnu/libc.so.6 | |
No symbol table info available. | |
#2 0x00007ffff58f3621 in __assert_fail () | |
from /lib/x86_64-linux-gnu/libc.so.6 | |
No symbol table info available. | |
#3 0x000000000041af6a in boost::dynamic_bitset<unsigned char, std::allocator<unsigned char> >::~dynamic_bitset (this=0x7fffea9d2790, | |
__in_chrg=<optimized out>) | |
at /usr/include/boost/dynamic_bitset/dynamic_bitset.hpp:616 | |
No locals. | |
#4 0x000000000042d6f0 in obelisk::subscribe_manager::add_subscription(obelisk::incoming_message const&, std::function<void (obelisk::outgoing_message const&)>) (this=this@entry=0x7fffffffd420, request=..., queue_send=...) | |
at worker/subscribe_manager.cpp:83 | |
addr_key = {static bits_per_block = 8 '\b', | |
static npos = <optimized out>, | |
static ulong_width = <optimized out>, | |
m_bits = {<std::_Vector_base<unsigned char, std::allocator<unsigned char> >> = { | |
_M_impl = {<std::allocator<unsigned char>> = {<__gnu_cxx::new_allocator<unsigned char>> = {<No data fields>}, <No data fields>}, | |
_M_start = 0x6d2d90 "b\223\316G\034\357Eu\004W\230\347®", | |
_M_finish = 0x6d2d9e "", | |
_M_end_of_storage = 0x6d2d9e ""}}, <No data fields>}, | |
m_num_bits = 111} | |
now = {<boost::date_time::base_time<boost::posix_time::ptime, boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> > >> = {<boost::less_than_comparable<boost::posix_time::ptime, boost::equality_comparable<boost::posix_time::ptime, boost::posix_time::ptime, boost::detail::empty_base<boost::posix_time::ptime>, boost::detail::false_t>, boost::detail::empty_base<boost::posix_time::ptime>, boost::detail::true_t>> = {<boost::less_than_comparable1<boost::posix_time::ptime, boost::equality_comparable<boost::posix_time::ptime, boost::posix_time::ptime, boost::detail::empty_base<boost::posix_time::ptime>, boost::detail::false_t> >> = {<boost::equality_comparable<boost::posix_time::ptime, boost::posix_time::ptime, boost::detail::empty_base<boost::posix_time::ptime>, boost::detail::false_t>> = {<boost::equality_comparable1<boost::posix_time::ptime, boost::detail::empty_base<boost::posix_time::ptime> >> = {<boost::detail::empty_base<boost::posix_time::ptime>> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, time_ = {time_count_ = { | |
value_ = 8870000}}}, <No data fields>} | |
expire_time = <optimized out> | |
#5 0x000000000042d8b1 in obelisk::subscribe_manager::do_subscribe(obelisk::incoming_message const&, std::function<void (obelisk::outgoing_message const&)>) | |
(this=0x7fffffffd420, request=..., queue_send=...) | |
at worker/subscribe_manager.cpp:88 | |
ec = {_M_value = 24, _M_cat = 0x0} | |
result = {<std::_Vector_base<unsigned char, std::allocator<unsigned char> >> = { | |
_M_impl = {<std::allocator<unsigned char>> = {<__gnu_cxx::new_allocator<unsigned char>> = {<No data fields>}, <No data fields>}, | |
_M_start = 0x18 <Address 0x18 out of bounds>, | |
_M_finish = 0x7fffea9d2a60 "\020+\235\352\377\177", | |
_M_end_of_storage = 0x7fffea9d2a30 "\001"}}, <No data fields>} | |
serial = {iter_ = {_M_current = 0x20 <Address 0x20 out of bounds>}} | |
response = { | |
dest_ = {<std::_Vector_base<unsigned char, std::allocator<unsigned char> >> = { | |
_M_impl = {<std::allocator<unsigned char>> = {<__gnu_cxx::new_allocator<unsigned char>> = {<No data fields>}, <No data fields>}, | |
_M_start = 0x1 <Address 0x1 out of bounds>, | |
_M_finish = 0x7ffff5943c00 "H\205\300H\211\303\017\204\244", | |
_M_end_of_storage = 0x1 <Address 0x1 out of bounds>}}, <No data fields>}, command_ = {static npos = <optimized out>, | |
_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, | |
_M_p = 0x18 <Address 0x18 out of bounds>}}, id_ = 6756128, | |
data_ = {<std::_Vector_base<unsigned char, std::allocator<unsigned char> >> = { | |
_M_impl = {<std::allocator<unsigned char>> = {<__gnu_cxx::new_allocator<unsigned char>> = {<No data fields>}, <No data fields>}, | |
_M_start = 0x666b40 "0\342\270\367\377\177", | |
_M_finish = 0x7fffea9d2c70 "\300.g", | |
_M_end_of_storage = 0x7ffff614f07d "H\205\300u&H\213-/\272("}}, <No data fields>}} | |
#6 0x000000000041ad92 in std::_Mem_fn<void (obelisk::subscribe_manager::*)(obelisk::incoming_message const&, std::function<void (obelisk::outgoing_message const&)>)>::operator()(obelisk::subscribe_manager*, obelisk::incoming_message const&, std::function<void (obelisk::outgoing_message const&)>) const ( | |
this=this@entry=0x7fffea9d2b10, __object=<optimized out>, __args#0=..., | |
__args#1=...) at /usr/include/c++/4.7/functional:554 | |
No locals. | |
#7 0x000000000042fa37 in std::_Bind<std::_Mem_fn<void (obelisk::subscribe_manager::*)(obelisk::incoming_message const&, std::function<void (obelisk::outgoing_message const&)>)> (obelisk::subscribe_manager*, obelisk::incoming_message, std::function<void (obelisk::outgoing_message const&)>)>::__call<void, , 0ul, 1ul, 2ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul>) ( | |
this=this@entry=0x7fffea9d2b10, __args=...) | |
at /usr/include/c++/4.7/functional:1156 | |
No locals. | |
#8 0x000000000042d219 in operator()<, void> (this=0x7fffea9d2b10) | |
at /usr/include/c++/4.7/functional:1215 | |
No locals. | |
#9 asio_handler_invoke<std::_Bind<std::_Mem_fn<void (obelisk::subscribe_manager::*)(const obelisk::incoming_message&, std::function<void(const obelisk::outgoing_message&)>)>(obelisk::subscribe_manager*, obelisk::incoming_message, std::function<void(const obelisk::outgoing_message&)>)> > ( | |
function=<error reading variable: access outside bounds of object referenced via synthetic pointer>) | |
at /usr/include/boost/asio/handler_invoke_hook.hpp:64 | |
No locals. | |
#10 boost_asio_handler_invoke_helpers::invoke<std::_Bind<std::_Mem_fn<void (obelisk::subscribe_manager::*)(const obelisk::incoming_message&, std::function<void(const obelisk::outgoing_message&)>)>(obelisk::subscribe_manager*, obelisk::incoming_message, std::function<void(const obelisk::outgoing_message&)>)>, std::_Bind<std::_Mem_fn<void (obelisk::subscribe_manager::*)(const obelisk::incoming_message&, std::function<void(const obelisk::outgoing_message&)>)>(obelisk::subscribe_manager*, obelisk::incoming_message, std::function<void(const obelisk::outgoing_message&)>)> >(std::_Bind<std::_Mem_fn<void (obelisk::subscribe_manager::*)(const obelisk::incoming_message&, std::function<void(const obelisk::outgoing_message&)>)>(obelisk::subscribe_manager*, obelisk::incoming_message, std::function<void(const obelisk::outgoing_message&)>)> &, std::_Bind<std::_Mem_fn<void (obelisk::subscribe_manager::*)(const obelisk::incoming_message&, std::function<void(const obelisk::outgoing_message&)>)>(obelisk::subscribe_manager*, obelisk::incoming_message, std::function<void(const obelisk::outgoing_message&)>)> &) (function=..., | |
context=<error reading variable: Unhandled dwarf expression opcode 0xfa>) | |
at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:39 | |
No locals. | |
#11 0x000000000042fb1b in boost::asio::detail::completion_handler<std::_Bind<std::_Mem_fn<void (obelisk::subscribe_manager::*)(obelisk::incoming_message const&, std::function<void (obelisk::outgoing_message const&)>)> (obelisk::subscribe_manager*, obelisk::incoming_message, std::function<void (obelisk::outgoing_message const&)>)> >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) (owner=0x666b40, base=0x7fffe405d590) | |
at /usr/include/boost/asio/detail/completion_handler.hpp:67 | |
h = 0x7fffe405d590 | |
p = {h = 0x7fffea9d2bc0, v = 0x0, p = 0x0} | |
handler = {<std::_Weak_result_type<std::_Mem_fn<void (obelisk::subscribe_manager::*)(const obelisk::incoming_message&, std::function<void(const obelisk::outgoing_message&)>)> >> = {<std::_Weak_result_type_impl<std::_Mem_fn<void (obelisk::subscribe_manager::*)(const obelisk::incoming_message&, std::function<void(const obelisk::outgoing_message&)>)> >> = {<std::_Maybe_get_result_type<true, std::_Mem_fn<void (obelisk::subscribe_manager::*)(const obelisk::incoming_message&, std::function<void(const obelisk::outgoing_message&)>)> >> = {<No data fields>}, <No data fields>}, <No data fields>}, | |
_M_f = {<std::_Maybe_unary_or_binary_function<void, obelisk::subscribe_manager*, const obelisk::incoming_message&, std::function<void(const obelisk::outgoing_message&)> >> = {<No data fields>}, __pmf = ( | |
void (obelisk::subscribe_manager::*)(obelisk::subscribe_manager * const, | |
const obelisk::incoming_message &, | |
std::function<void(const obelisk::outgoing_message&)>)) 0x42d880 <obelisk::subscribe_manager::do_subscribe(obelisk::incoming_message const&, std::function<void (obelisk::outgoing_message const&)>)>}, | |
_M_bound_args = {<std::_Tuple_impl<0ul, obelisk::subscribe_manager*, obelisk::incoming_message, std::function<void(const obelisk::outgoing_message&)> >> = {<std::_Tuple_impl<1ul, obelisk::incoming_message, std::function<void(const obelisk::outgoing_message&)> >> = {<std::_Tuple_impl<2ul, std::function<void(const obelisk::outgoing_message&)> >> = {<std::_Tuple_impl<3ul>> = {<No data fields>}, <std::_Head_base<2ul, std::function<void(const obelisk::outgoing_message&)>, false>> = { | |
_M_head_impl = {<std::_Maybe_unary_or_binary_function<void, obelisk::outgoing_message const&>> = {<std::unary_function<obelisk::outgoing_message const&, void>> = {<No data fields>}, <No data fields>}, <std::_Function_base> = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = { | |
_M_unused = {_M_object = 0x7fffe401a8c0, | |
_M_const_object = 0x7fffe401a8c0, | |
_M_function_pointer = 0x7fffe401a8c0, | |
_M_member_pointer = ( | |
void (std::_Undefined_class::*)( | |
std::_Undefined_class * const)) 0x7fffe401a8c0, this adjustment 140737327090632}, | |
_M_pod_data = "\300\250\001\344\377\177\000\000\310Kc\366\377\177\000"}, _M_manager = 0x431c90 | |
<std::_Function_base::_Base_manager<std::_Bind<std::_Mem_fn<void (obelisk::send_worker::*)(obelisk::outgoing_message const&)> (obelisk::send_worker*, std::_Placeholder<1>)> >::_M_manager(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>}, | |
_M_invoker = 0x431d20 <std::_Function_handler<void (obelisk::outgoing_message const&), std::_Bind<std::_Mem_fn<void (obelisk::send_worker::*)(obelisk::outgoing_message const&)> (obelisk::send_worker*, std::_Placeholder<1>)> >::_M_invoke(std::_Any_data const&, obelisk::outgoing_message const&)>}}, <No data fields>}, <std::_Head_base<1ul, obelisk::incoming_message, false>> = {_M_head_impl = { | |
origin_ = {<std::_Vector_base<unsigned char, std::allocator<unsigned char> >> = { | |
_M_impl = {<std::allocator<unsigned char>> = {<__gnu_cxx::new_allocator<unsigned char>> = {<No data fields>}, <No data fields>}, | |
_M_start = 0x7fffe40703f0 "", | |
_M_finish = 0x7fffe40703f5 "\177", | |
_M_end_of_storage = 0x7fffe40703f5 "\177"}}, <No data fields>}, command_ = {static npos = <optimized out>, | |
_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, | |
_M_p = 0x7fffe409ff68 "address.subscribe"}}, | |
id_ = 1241168125, | |
data_ = {<std::_Vector_base<unsigned char, std::allocator<unsigned char> >> = { | |
_M_impl = {<std::allocator<unsigned char>> = {<__gnu_cxx::new_allocator<unsigned char>> = {<No data fields>}, <No data fields>}, | |
_M_start = 0x7fffe4077030 "ob\223\316G\034\357Eu\004W\230\347®\260\361\345\370\347p", _M_finish = 0x7fffe4077045 "", | |
_M_end_of_storage = 0x7fffe4077045 ""}}, <No data fields>}}}, <No data fields>}, <std::_Head_base<0ul, obelisk::subscribe_manager*, false>> = { | |
_M_head_impl = 0x7fffffffd420}, <No data fields>}, <No data fields>}} | |
#12 0x00007ffff787058d in complete (bytes_transferred=0, ec=..., owner=..., | |
this=<optimized out>) | |
at /usr/include/boost/asio/detail/task_io_service_operation.hpp:37 | |
No locals. | |
#13 boost::asio::detail::strand_service::do_complete (owner=0x666b40, | |
base=0x672ec0, ec=...) | |
at /usr/include/boost/asio/detail/impl/strand_service.ipp:160 | |
o = 0x0 | |
impl = 0x672ec0 | |
ctx = {<boost::noncopyable_::noncopyable> = {<No data fields>}, | |
key_ = 0x672ec0, value_ = 0x7fffea9d2c70 "\300.g", next_ = 0x0} | |
on_exit = {owner_ = 0x666b40, impl_ = 0x672ec0} | |
#14 0x00007ffff78b995e in complete (bytes_transferred=0, ec=..., owner=..., | |
this=0x672ec0) | |
at /usr/include/boost/asio/detail/task_io_service_operation.hpp:37 | |
No locals. | |
#15 boost::asio::detail::task_io_service::do_run_one ( | |
this=this@entry=0x666b40, lock=..., this_thread=..., | |
private_op_queue=..., ec=...) | |
at /usr/include/boost/asio/detail/impl/task_io_service.ipp:369 | |
task_result = 0 | |
on_exit = {task_io_service_ = 0x666b40, lock_ = 0x7fffea9d2d90, | |
ops_ = 0x7fffea9d2d80} | |
more_handlers = true | |
#16 0x00007ffff78baeb6 in boost::asio::detail::task_io_service::run ( | |
this=0x666b40, ec=...) | |
at /usr/include/boost/asio/detail/impl/task_io_service.ipp:146 | |
this_thread = {wakeup_event = 0x7fffea9d2de0, private_op_queue = 0x0, | |
next = 0x0} | |
wakeup_event = {<boost::noncopyable_::noncopyable> = {<No data fields>}, cond_ = {__data = {__lock = 0, __futex = 2, __total_seq = 1, | |
__wakeup_seq = 1, __woken_seq = 1, __mutex = 0x666b70, | |
__nwaiters = 0, __broadcast_seq = 0}, | |
__size = "\000\000\000\000\002\000\000\000\001\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000pkf", '\000' <repeats 12 times>, __align = 8589934592}, signalled_ = true} | |
ctx = {<boost::noncopyable_::noncopyable> = {<No data fields>}, | |
key_ = 0x666b40, value_ = 0x7fffea9d2da0, next_ = 0x0} | |
private_op_queue = {<boost::noncopyable_::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0} | |
lock = {<boost::noncopyable_::noncopyable> = {<No data fields>}, | |
mutex_ = @0x666b70, locked_ = false} | |
n = 73 | |
#17 0x00007ffff78f0876 in run (this=<optimized out>) | |
at /usr/include/boost/asio/impl/io_service.ipp:59 | |
ec = {m_val = 0, m_cat = 0x7ffff7fccb78} | |
#18 operator() (__closure=<optimized out>) at threadpool.cpp:49 | |
this = <optimized out> | |
#19 _M_invoke<> (this=<optimized out>) at /usr/include/c++/4.7/functional:1598 | |
No locals. | |
#20 operator() (this=<optimized out>) at /usr/include/c++/4.7/functional:1586 | |
No locals. | |
#21 std::thread::_Impl<std::_Bind_simple<libbitcoin::threadpool::spawn_once()::<lambda()>()> >::_M_run(void) (this=<optimized out>) | |
at /usr/include/c++/4.7/thread:115 | |
No locals. | |
#22 0x00007ffff61a1400 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | |
No symbol table info available. | |
#23 0x00007ffff75dfb50 in start_thread () | |
from /lib/x86_64-linux-gnu/libpthread.so.0 | |
No symbol table info available. | |
#24 0x00007ffff59a40ed in clone () from /lib/x86_64-linux-gnu/libc.so.6 | |
No symbol table info available. | |
#25 0x0000000000000000 in ?? () | |
No symbol table info available. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment