steemit / steem

The blockchain for Smart Media Tokens (SMTs) and decentralized applications.
https://steem.com
Other
1.95k stars 793 forks source link

crash in account_history_rocksdb_plugin::impl::find_operations_by_block #3142

Open sneak opened 6 years ago

sneak commented 6 years ago

Self-built a docker image from master (as of 75300afff53d850f777f46dab116591d9a1764c5), fired it up with IS_AH_NODE=1 which uses /contrib/config-for-ahnode.ini AFAIU, blockchain begins to sync.

Sent in a get_ops_in_block(2, false) for block 2, crash:

3034521ms node.cpp:3117                 send_sync_block_to_n ] Successfully pushed sync block 55191 (id:0000d7973e6495003346666ebca2ac190c62df33)
3034521ms node.cpp:3117                 send_sync_block_to_n ] Successfully pushed sync block 55192 (id:0000d7982c38ca738f7db5f5360e66355d2a3f41)
3034522ms node.cpp:3117                 send_sync_block_to_n ] Successfully pushed sync block 55193 (id:0000d799d2611b69a5c5a48fac4f1f7bbf74597e)
3034522ms node.cpp:3117                 send_sync_block_to_n ] Successfully pushed sync block 55194 (id:0000d79ab70deaf9a94bf8092c6077192a7de082)
3034523ms node.cpp:3117                 send_sync_block_to_n ] Successfully pushed sync block 55195 (id:0000d79b4f334da61fe6fb7a0ac33e1308839a05)
3034525ms node.cpp:3117                 send_sync_block_to_n ] Successfully pushed sync block 55196 (id:0000d79c5dc047082309e6be5c719fd580c1b509)
3034526ms node.cpp:3117                 send_sync_block_to_n ] Successfully pushed sync block 55197 (id:0000d79d58cb6fba9a6928a4b03fb3f72022707f)
3034529ms node.cpp:3117                 send_sync_block_to_n ] Successfully pushed sync block 55198 (id:0000d79e386d33acdab1602fd0f667d33ebd5848)
3034529ms node.cpp:3117                 send_sync_block_to_n ] Successfully pushed sync block 55199 (id:0000d79f0027ed1ba4bd198578f47bc8854180ee)
3034538ms json_rpc_plugin.cpp:348       rpc                  ] message: {"jsonrpc":"2.0","id":"1","method":"condenser_api.get_ops_in_block","params":[2,false]}
stack trace:
  0x0000000001e145fc /usr/local/steemd-default/bin/steemd : fc::segfault_handler(int, siginfo_t*, void*)+0x1c
  0x00007f5c32c47390 /lib/x86_64-linux-gnu/libpthread.so.0 : +0x11390
  0x00000000014ebc11 /usr/local/steemd-default/bin/steemd : steem::plugins::account_history_rocksdb::account_history_rocksdb_plugin::impl::find_operations_by_block(unsigned long, std::function<void (steem::plugins::account_history_rocksdb::rocksdb_operation_object const&)>) const+0x31
  0x00000000014ec099 /usr/local/steemd-default/bin/steemd : steem::plugins::account_history_rocksdb::account_history_rocksdb_plugin::find_operations_by_block(unsigned long, std::function<void (steem::plugins::account_history_rocksdb::rocksdb_operation_object const&)>) const+0x69
  0x00000000012868d8 /usr/local/steemd-default/bin/steemd : steem::plugins::account_history::detail::account_history_api_rocksdb_impl::get_ops_in_block(steem::plugins::account_history::get_ops_in_block_args const&)+0x68
  0x00000000012855f1 /usr/local/steemd-default/bin/steemd : steem::plugins::account_history::account_history_api::get_ops_in_block(steem::plugins::account_history::get_ops_in_block_args const&, bool)+0x21
  0x0000000001180501 /usr/local/steemd-default/bin/steemd : steem::plugins::condenser_api::detail::condenser_api_impl::get_ops_in_block(std::vector<fc::variant, std::allocator<fc::variant> > const&)+0x201
  0x0000000001194b1f /usr/local/steemd-default/bin/steemd : steem::plugins::condenser_api::condenser_api::get_ops_in_block(std::vector<fc::variant, std::allocator<fc::variant> > const&, bool)+0xef
  0x00000000011f2cc3 /usr/local/steemd-default/bin/steemd : std::_Function_handler<fc::variant (fc::variant const&), void steem::plugins::json_rpc::detail::register_api_method_visitor::operator()<steem::plugins::condenser_api::condenser_api, std::vector<steem::plugins::condenser_api::api_operation_object, std::allocator<steem::plugins::condenser_api::api_operation_object> > (steem::plugins::condenser_api::condenser_api::*)(std::vector<fc::variant, std::allocator<fc::variant> > const&, bool), std::vector<fc::variant, std::allocator<fc::variant> >, std::vector<steem::plugins::condenser_api::api_operation_object, std::allocator<steem::plugins::condenser_api::api_operation_object> > >(steem::plugins::condenser_api::condenser_api&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<steem::plugins::condenser_api::api_operation_object, std::allocator<steem::plugins::condenser_api::api_operation_object> > (steem::plugins::condenser_api::condenser_api::*)(std::vector<fc::variant, std::allocator<fc::variant> > const&, bool), std::vector<fc::variant, std::allocator<fc::variant> >*, std::vector<steem::plugins::condenser_api::api_operation_object, std::allocator<steem::plugins::condenser_api::api_operation_object> >*)::{lambda(fc::variant const&)#1}>::_M_invoke(std::_Any_data const&, fc::variant const&)+0x83
  0x0000000001526b70 /usr/local/steemd-default/bin/steemd : steem::plugins::json_rpc::detail::json_rpc_plugin_impl::rpc_jsonrpc(fc::variant_object const&, steem::plugins::json_rpc::detail::json_rpc_response&)+0x4c0
  0x0000000001527bd6 /usr/local/steemd-default/bin/steemd : steem::plugins::json_rpc::detail::json_rpc_plugin_impl::rpc(fc::variant const&)+0x376
  0x0000000001528d5c /usr/local/steemd-default/bin/steemd : steem::plugins::json_rpc::json_rpc_plugin::call(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x48c
  0x00000000010d93b4 /usr/local/steemd-default/bin/steemd() [0x10d93b4]
  0x00000000010d9bce /usr/local/steemd-default/bin/steemd() [0x10d9bce]
  0x00000000010ebe03 /usr/local/steemd-default/bin/steemd : boost::asio::io_service::run()+0x413
  0x0000000001ef26b5 /usr/local/steemd-default/bin/steemd() [0x1ef26b5]
  0x00007f5c32c3d6ba /lib/x86_64-linux-gnu/libpthread.so.0 : +0x76ba
  0x00007f5c3225e41d /lib/x86_64-linux-gnu/libc.so.6 : clone+0x6d
executing command:
addr2line -p -a -f -C -i -e /usr/local/steemd-default/bin/steemd 0000000001e13f86 0000000001e145fc 00007f5c32c47390 00000000014ebc11 00000000014ec099 00000000012868d8 00000000012855f1 0000000001180501 0000000001194b1f 00000000011f2cc3 0000000001526b70 0000000001527bd6 0000000001528d5c 00000000010d93b4 00000000010d9bce 00000000010ebe03 0000000001ef26b5 00007f5c32c3d6ba 00007f5c3225e41d
0x0000000001e13f86: fc::print_stacktrace(std::ostream&, unsigned int, void*) at ??:?
0x0000000001e145fc: fc::segfault_handler(int, siginfo_t*, void*) at ??:?
0x00007f5c32c47390: ?? ??:0
0x00000000014ebc11: steem::plugins::account_history_rocksdb::account_history_rocksdb_plugin::impl::find_operations_by_block(unsigned long, std::function<void (steem::plugins::account_history_rocksdb::rocksdb_operation_object const&)>) const at ??:?
0x00000000014ec099: steem::plugins::account_history_rocksdb::account_history_rocksdb_plugin::find_operations_by_block(unsigned long, std::function<void (steem::plugins::account_history_rocksdb::rocksdb_operation_object const&)>) const at ??:?
0x00000000012868d8: steem::plugins::account_history::detail::account_history_api_rocksdb_impl::get_ops_in_block(steem::plugins::account_history::get_ops_in_block_args const&) at ??:?
0x00000000012855f1: steem::plugins::account_history::account_history_api::get_ops_in_block(steem::plugins::account_history::get_ops_in_block_args const&, bool) at ??:?
0x0000000001180501: steem::plugins::condenser_api::detail::condenser_api_impl::get_ops_in_block(std::vector<fc::variant, std::allocator<fc::variant> > const&) at ??:?
0x0000000001194b1f: steem::plugins::condenser_api::condenser_api::get_ops_in_block(std::vector<fc::variant, std::allocator<fc::variant> > const&, bool) at ??:?
0x00000000011f2cc3: std::_Function_handler<fc::variant (fc::variant const&), void steem::plugins::json_rpc::detail::register_api_method_visitor::operator()<steem::plugins::condenser_api::condenser_api, std::vector<steem::plugins::condenser_api::api_operation_object, std::allocator<steem::plugins::condenser_api::api_operation_object> > (steem::plugins::condenser_api::condenser_api::*)(std::vector<fc::variant, std::allocator<fc::variant> > const&, bool), std::vector<fc::variant, std::allocator<fc::variant> >, std::vector<steem::plugins::condenser_api::api_operation_object,
std::allocator<steem::plugins::condenser_api::api_operation_object> > >(steem::plugins::condenser_api::condenser_api&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<steem::plugins::condenser_api::api_operation_object, std::allocator<steem::plugins::condenser_api::api_operation_object> > (steem::plugins::condenser_api::condenser_api::*)(std::vector<fc::variant, std::allocator<fc::variant> > const&, bool), std::vector<fc::variant, std::allocator<fc::variant> >*, std::vector<steem::plugins::condenser_api::api_operation_object, std::allocator<steem::plugins::condenser_api::api_operation_object> >*)::{lambda(fc::variant const&)#1}>::_M_invoke(std::_Any_data const&, fc::variant const&) at ??:?
0x0000000001526b70: steem::plugins::json_rpc::detail::json_rpc_plugin_impl::rpc_jsonrpc(fc::variant_object const&, steem::plugins::json_rpc::detail::json_rpc_response&) at ??:?
0x0000000001527bd6: steem::plugins::json_rpc::detail::json_rpc_plugin_impl::rpc(fc::variant const&) at ??:?
0x0000000001528d5c: steem::plugins::json_rpc::json_rpc_plugin::call(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) at ??:?
0x00000000010d93b4: steem::plugins::webserver::detail::webserver_plugin_impl::handle_http_message(websocketpp::server<steem::plugins::webserver::detail::asio_with_stub_log>*, std::weak_ptr<void>)::{lambda()#1}::operator()() const [clone .constprop.1668] at webserver_plugin.cpp:?
0x00000000010d9bce: boost::asio::detail::completion_handler<steem::plugins::webserver::detail::webserver_plugin_impl::handle_http_message(websocketpp::server<steem::plugins::webserver::detail::asio_with_stub_log>*, std::weak_ptr<void>)::{lambda()#1}>::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) at webserver_plugin.cpp:?
0x00000000010ebe03: boost::asio::io_service::run() at ??:?
0x0000000001ef26b5: thread_proxy at thread.o:?
0x00007f5c32c3d6ba: ?? ??:0
0x00007f5c3225e41d: ?? ??:0

Lock timeout, moving to lock 1
sneak commented 6 years ago

Self-building necessary due to #3130