I built the master branch (commit 381b1cc930cb1501489ac6993436f81ec491d06e) to work with eos 2.1.0 and found two problems:
When I stop fill-pg process and start again, it reports hex string has incorrect length.
Looks like the error comes from https://github.com/EOSIO/history-tools/blob/master/src/state_history_pg.hpp#L43
I built with eosio_2.1.0-1-ubuntu-18.04_amd64.deb and eosio.cdt_1.8.0-1-ubuntu-18.04_amd64.deb, boost version is 1.76.0
not sure if it matters.
fill-pg process stuck at switch forks at block xxx (process not responding, has to kill -9).
gdb backtrace shows:
#0 0x00007fcceffe6cb9 in __GI___poll (fds=0x7fff09090c98, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007fccf0c1a700 in ?? () from /usr/lib/x86_64-linux-gnu/libpq.so.5
#2 0x00007fccf0c1a868 in ?? () from /usr/lib/x86_64-linux-gnu/libpq.so.5
#3 0x00007fccf0c18649 in PQgetResult () from /usr/lib/x86_64-linux-gnu/libpq.so.5
#4 0x0000000000754694 in pqxx::connection_base::end_copy_write (this=0x1175fa0) at _deps/libpqxx-src/src/connection_base.cxx:1070
#5 0x0000000000780b9d in pqxx::internal::gate::connection_transaction::end_copy_write (this=0x7fff09091060) at _deps/libpqxx-src/include/pqxx/internal/gates/connection-transaction.hxx:28
#6 0x00000000007803aa in pqxx::transaction_base::end_copy_write (this=0x11760c8) at _deps/libpqxx-src/src/transaction_base.cxx:551
#7 0x000000000077c31d in pqxx::internal::gate::transaction_tablewriter::end_copy_write (this=0x7fff090910d0) at _deps/libpqxx-src/include/pqxx/internal/gates/transaction-tablewriter.hxx:23
#8 0x000000000077bb9f in pqxx::tablewriter::writer_close (this=0x11761a0) at _deps/libpqxx-src/src/tablewriter.cxx:88
#9 0x000000000077be45 in pqxx::tablewriter::complete (this=0x11761a0) at _deps/libpqxx-src/src/tablewriter.cxx:77
#10 0x0000000000584395 in tablewriter::complete (this=0x11761a0) at ../src/fill_pg_plugin.cpp:79
#11 0x0000000000566f56 in fpg_session::flush_streams (this=0x112f350) at ../src/fill_pg_plugin.cpp:552
#12 0x000000000058aa5a in fpg_session::process_blocks_result<eosio::ship_protocol::get_blocks_result_v2, fpg_session::received(eosio::ship_protocol::get_blocks_result_v2&)::{lambda(bool)#1}>(eosio::ship_protocol::get_blocks_result_v2&, fpg_session::received(eosio::ship_protocol::get_blocks_result_v2&)::{lambda(bool)#1}&&) (this=0x112f350, result=..., handler=...) at ../src/fill_pg_plugin.cpp:485
#13 0x0000000000520b88 in fpg_session::received (this=0x112f350, result=...) at ../src/fill_pg_plugin.cpp:502
#14 0x00000000004b5768 in state_history::connection::receive_result(std::shared_ptr<boost::beast::basic_flat_buffer<std::allocator<char> > > const&)::{lambda(auto:1&)#1}::operator()<eosio::ship_protocol::get_blocks_result_v2> (this=0x7fff09091c30, r=...) at ../src/state_history_connection.hpp:124
#15 0x00000000004b5712 in std::__invoke_impl<bool, state_history::connection::receive_result(std::shared_ptr<boost::beast::basic_flat_buffer<std::allocator<char> > > const&)::{lambda(auto:1&)#1}, eosio::ship_protocol::get_blocks_result_v2&>(std::__invoke_other, state_history::connection::receive_result(std::shared_ptr<boost::beast::basic_flat_buffer<std::allocator<char> > > const&)::{lambda(auto:1&)#1}&&, eosio::ship_protocol::get_blocks_result_v2&) (__f=..., __args=...) at /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/invoke.h:60
#16 0x00000000004b56d2 in std::__invoke<state_history::connection::receive_result(std::shared_ptr<boost::beast::basic_flat_buffer<std::allocator<char> > > const&)::{lambda(auto:1&)#1}, eosio::ship_protocol::get_blocks_result_v2&>(state_history::connection::receive_result(std::shared_ptr<boost::beast::basic_flat_buffer<std::allocator<char> > > const&)::{lambda(auto:1&)#1}&&, (std::__invoke_result&&)...) (
__fn=..., __args=...) at /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/invoke.h:95
#17 0x00000000004b53da in std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<bool (*)(state_history::connection::receive_result(std::shared_ptr<boost::beast::basic_flat_buffer<std::allocator<char> > > const&)::{lambda(auto:1&)#1}&&, std::variant<eosio::ship_protocol::get_status_result_v0, eosio::get_blocks_result_v0, eosio::get_blocks_result_v1, eosio::get_blocks_result_v2>&)>, std::tuple<std::variant<eosio::ship_protocol::get_status_result_v0, eosio::get_blocks_result_v0, eosio::get_blocks_result_v1, eosio::get_blocks_result_v2> >, std::integer_sequence<unsigned long, 3ul> >::__visit_invoke(state_history::connection::receive_result(std::shared_ptr<boost::beast::basic_flat_buffer<std::allocator<char> > > const&)::{lambda(auto:1&)#1}, std::variant<eosio::ship_protocol::get_status_result_v0, eosio::get_blocks_result_v0, eosio::get_blocks_result_v1, eosio::get_blocks_result_v2>) (__visitor=...,
__vars=std::variant<eosio::ship_protocol::get_status_result_v0, eosio::ship_protocol::get_blocks_result_v0, eosio::ship_protocol::get_blocks_result_v1, eosio::ship_protocol::get_blocks_result_v2> [index 3] = {...}) at /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/variant:687
#18 0x000000000049db30 in std::visit<state_history::connection::receive_result(std::shared_ptr<boost::beast::basic_flat_buffer<std::allocator<char> > > const&)::{lambda(auto:1&)#1}, std::variant<eosio::ship_protocol::get_status_result_v0, eosio::get_blocks_result_v0, eosio::get_blocks_result_v1, eosio::get_blocks_result_v2>&>(state_history::connection::receive_result(std::shared_ptr<boost::beast::basic_flat_buffer<std::allocator<char> > > const&)::{lambda(auto:1&)#1}&&, std::variant<eosio::ship_protocol::get_status_result_v0, eosio::get_blocks_result_v0, eosio::get_blocks_result_v1, eosio::get_blocks_result_v2>&) (__visitor=...,
__variants=std::variant<eosio::ship_protocol::get_status_result_v0, eosio::ship_protocol::get_blocks_result_v0, eosio::ship_protocol::get_blocks_result_v1, eosio::ship_protocol::get_blocks_result_v2> [index 3] = {...}) at /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/variant:1259
#19 0x000000000048647f in state_history::connection::receive_result (this=0x11707e0, p=warning: RTTI symbol not found for class 'std::_Sp_counted_ptr_inplace<boost::beast::basic_flat_buffer<std::allocator<char> >, std::allocator<boost::beast::basic_flat_buffer<std::allocator<char> > >, (__gnu_cxx::_Lock_policy)2>'
warning: RTTI symbol not found for class 'std::_Sp_counted_ptr_inplace<boost::beast::basic_flat_buffer<std::allocator<char> >, std::allocator<boost::beast::basic_flat_buffer<std::allocator<char> > >, (__gnu_cxx::_Lock_policy)2>'
std::shared_ptr<boost::beast::basic_flat_buffer<std::allocator<char> >> (use count 1, weak count 0) = {...})
at ../src/state_history_connection.hpp:124
#20 0x0000000000485b6f in state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}::operator()(boost::system::error_code, unsigned long) const::{lambda()#1}::operator()() const (this=0x7fff090921a0) at ../src/state_history_connection.hpp:87
#21 0x00000000004852ab in state_history::connection::catch_and_close<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}::operator()(boost::system::error_code, unsigned long) const::{lambda()#1}>(state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}::operator()(boost::system::error_code, unsigned long) const::{lambda()#1}) (
this=0x11707e0, f=...) at ../src/state_history_connection.hpp:177
#22 0x0000000000485279 in state_history::connection::enter_callback<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}::operator()(boost::system::error_code, unsigned long) const::{lambda()#1}>(boost::system::error_code, char const*, state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}::operator()(boost::system::error_code, unsigned long) const::{lambda()#1}) (this=0x11707e0, ec=..., what=0x78c5ce "async_read", f=...) at ../src/state_history_connection.hpp:191
#23 0x0000000000484111 in state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}::operator()(boost::system::error_code, unsigned long) const (this=0x7fff09093748,
ec=...) at ../src/state_history_connection.hpp:83
#24 0x0000000000483acc in boost::beast::async_base<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::asio::any_io_executor, std::allocator<void> >::complete<boost::system::error_code&, unsigned long&>(bool, boost::system::error_code&, unsigned long&) (this=0x7fff09093740, is_continuation=true, args=@0x7fff090937d0: 1444, args=@0x7fff090937d0: 1444)
at /usr/local/include/boost/beast/core/async_base.hpp:368
---Type <return> to continue, or q <return> to quit---
#25 0x000000000048368b in boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >::operator()(boost::system::error_code, unsigned long, bool) (this=0x7fff09093740, ec=...,
bytes_transferred=1444, cont=true) at /usr/local/include/boost/beast/websocket/impl/read.hpp:791
#26 0x00000000004bb367 in boost::beast::async_base<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::any_io_executor, std::allocator<void> >::complete<boost::system::error_code&, unsigned long&>(bool, boost::system::error_code&, unsigned long&) (this=0x7fff09093738, is_continuation=true, args=@0x7fff09093860: 1444, args=@0x7fff09093860: 1444)
at /usr/local/include/boost/beast/core/async_base.hpp:368
#27 0x00000000004bad6d in boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_some_op<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::mutable_buffer>::operator()(boost::system::error_code, unsigned long, bool) (this=0x7fff09093738, ec=..., bytes_transferred=1444, cont=true)
at /usr/local/include/boost/beast/websocket/impl/read.hpp:705
#28 0x00000000004c2250 in boost::asio::detail::binder2<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_some_op<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::mutable_buffer>, boost::system::error_code, unsigned long>::operator()() (this=0x7fff09093738)
at /usr/local/include/boost/asio/detail/bind_handler.hpp:182
#29 0x00000000004c2205 in boost::asio::asio_handler_invoke<boost::asio::detail::binder2<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_some_op<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::mutable_buffer>, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_some_op<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::mutable_buffer>, boost::system::error_code, unsigned long>&, ...) (function=...) at /usr/local/include/boost/asio/handler_invoke_hook.hpp:88
#30 0x00000000004c21e2 in boost::beast::asio_handler_invoke<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::asio::any_io_executor, std::allocator<void>, state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}::detail::binder2<boost::beast::websocket::stream<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}::basic_stream_socket<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}::ip::tcp, boost::asio>, true>::read_some_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}::basic_stream_socket<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}::ip::tcp, boost::asio>::read_op<{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}::mutable_buffer>, boost::system::error_code, unsigned long>&>(state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}::detail::binder2<boost::beast::websocket::stream<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}::basic_stream_socket<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}::ip::tcp, boost::asio>, true>::read_some_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}::basic_stream_socket<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}::ip::tcp, boost::asio>::read_op<{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}::mutable_buffer>, boost::system::error_code, unsigned long>&, boost::beast::async_base<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::asio::any_io_executor, std::allocator<void> >*) (f=..., p=0x7fff09093740)
at /usr/local/include/boost/beast/core/impl/async_base.hpp:64
#31 0x00000000004c21a0 in boost::beast::asio_handler_invoke<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::any_io_executor, std::allocator<void>, boost::asio::detail::binder2<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_some_op<boost::beast::basic_flat_buffer<std::allocator<char> >, boost::asio::mutable_buffer>, boost::system::error_code, unsigned long>&>(boost::asio::detail::binder2<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_some_op<boost::beast::basic_flat_buffer<std::allocator<char> >, boost::asio::mutable_buffer>, boost::system::error_code, unsigned long>&, boost::beast::async_base<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::any_io_executor, std::allocator<void> >*) (f=..., p=0x7fff09093738)
at /usr/local/include/boost/beast/core/impl/async_base.hpp:64
#32 0x00000000004c20b0 in boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_some_op<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::mutable_buffer>, boost::system::error_code, unsigned long>, boost::asio::mutable_buffer>(boost::asio::detail::binder2<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_some_op<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::mutable_buffer>, boost::system::error_code, unsigned long>&, boost::asio::mutable_buffer&) (function=..., context=warning: RTTI symbol not found for class 'boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_some_op<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::mutable_buffer>'
...)
at /usr/local/include/boost/asio/detail/handler_invoke_helpers.hpp:54
#33 0x00000000004c293d in boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder2<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_some_op<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::mutable_buffer>, boost::system::error_code, unsigned long>, boost::asio::mutable_b---Type <return> to continue, or q <return> to quit---
uffer, boost::system::error_code, unsigned long>(boost::asio::detail::binder2<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_some_op<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::mutable_buffer>, boost::system::error_code, unsigned long>&, boost::asio::detail::binder2<boost::asio::mutable_buffer, boost::system::error_code, unsigned long>*) (function=..., this_handler=0x7fff09093738) at /usr/local/include/boost/asio/detail/bind_handler.hpp:236
#34 0x00000000004c28b0 in boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_some_op<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::mutable_buffer>, boost::system::error_code, unsigned long>, boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_some_op<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::mutable_buffer> >(boost::asio::detail::binder2<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_some_op<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::mutable_buffer>, boost::system::error_code, unsigned long>&, boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_some_op<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::mutable_buffer>&) (function=...,
context=...) at /usr/local/include/boost/asio/detail/handler_invoke_helpers.hpp:54
#35 0x00000000004c2772 in boost::asio::detail::executor_function::complete<boost::asio::detail::binder2<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_some_op<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::mutable_buffer>, boost::system::error_code, unsigned long>, std::allocator<void> >(boost::asio::detail::executor_function::impl_base*, bool) (base=0x115dd80, call=true) at /usr/local/include/boost/asio/detail/executor_function.hpp:116
#36 0x000000000044a552 in boost::asio::detail::executor_function::operator() (this=0x7fff090939c8) at /usr/local/include/boost/asio/detail/executor_function.hpp:64
#37 0x000000000044a4e5 in boost::asio::asio_handler_invoke<boost::asio::detail::executor_function> (function=...) at /usr/local/include/boost/asio/handler_invoke_hook.hpp:88
#38 0x000000000044a162 in boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::executor_function, boost::asio::detail::executor_function> (function=..., context=...)
at /usr/local/include/boost/asio/detail/handler_invoke_helpers.hpp:54
#39 0x000000000044dd53 in boost::asio::io_context::basic_executor_type<std::allocator<void>, 4u>::execute<boost::asio::detail::executor_function> (this=0x7fff09093c98, f=...)
at /usr/local/include/boost/asio/impl/io_context.hpp:290
#40 0x000000000044dcd1 in asio_execution_execute_fn::impl::operator()<boost::asio::io_context::basic_executor_type<std::allocator<void>, 4u> const&, boost::asio::detail::executor_function> (
this=0x7c9900 <asio_execution_execute_fn::static_instance<asio_execution_execute_fn::impl>::instance>, t=..., f=...) at /usr/local/include/boost/asio/execution/execute.hpp:208
#41 0x000000000044dbbf in boost::asio::execution::detail::any_executor_base::execute_ex<boost::asio::io_context::basic_executor_type<std::allocator<void>, 4u> > (ex=..., f=...)
at /usr/local/include/boost/asio/execution/any_executor.hpp:889
#42 0x00000000004c23ed in boost::asio::execution::detail::any_executor_base::execute<boost::asio::detail::binder2<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_some_op<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::mutable_buffer>, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_some_op<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::mutable_buffer>, boost::system::error_code, unsigned long>&&) const (this=0x7fff09093c98, f=...)
at /usr/local/include/boost/asio/execution/any_executor.hpp:606
#43 0x00000000004c2284 in asio_execution_execute_fn::impl::operator()<boost::asio::any_io_executor, boost::asio::detail::binder2<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_some_op<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::mutable_buffer>, boost::system::error_code, unsigned long> > (this=0x7c9900 <asio_execution_execute_fn::static_instance<asio_execution_execute_fn::impl>::instance>, t=..., f=...) at /usr/local/include/boost/asio/execution/execute.hpp:208
#44 0x00000000004c2133 in boost::asio::detail::handler_work_base<boost::asio::any_io_executor, boost::asio::any_io_executor, boost::asio::io_context, boost::asio::executor, void>::dispatch<boost::asio::detail::binder2<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_some_op<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::mutable_buffer>, boost::system::error_code, unsigned long>, boost::asio::mutable_buffer>(boost::asio::detail::binder2<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_some_op<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::mutable_buffer>, boost::system::error_code, unsigned long>&, boost::asio::mutable_buffer&) (this=0x7fff09093ec0, function=..., handler=warning: RTTI symbol not found for class 'boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_some_op<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::mutable_buffer>'
...) at /usr/local/include/boost/asio/detail/handler_work.hpp:98
#45 0x00000000004c1e41 in boost::asio::detail::handler_work<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_some_op<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::mutable_buffer>, boost::asio::any_io_executor, void>::complete<boost::asio::detail::binder2<boost::asio::mutable_buffer, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<boost::asio::mutable_buffer, boost::system::error_code, unsigned long>&, boost::asio::mutable_buffer&) (this=0x7fff09093e90,
---Type <return> to continue, or q <return> to quit---
function=..., handler=warning: RTTI symbol not found for class 'boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_some_op<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::mutable_buffer>'
...) at /usr/local/include/boost/asio/detail/handler_work.hpp:469
#46 0x00000000004c1a82 in boost::asio::detail::reactive_socket_recv_op<boost::beast::detail::buffers_pair<true>, boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_some_op<boost::beast::websocket::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, true>::read_op<state_history::connection::start_read()::{lambda(boost::system::error_code, unsigned long)#1}, boost::beast::basic_flat_buffer<std::allocator<char> > >, boost::asio::mutable_buffer>, boost::asio::any_io_executor>::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) (owner=0x112a4f0, base=0x1193500) at /usr/local/include/boost/asio/detail/reactive_socket_recv_op.hpp:145
#47 0x00000000004486c7 in boost::asio::detail::scheduler_operation::complete (this=0x1193500, owner=0x112a4f0, ec=..., bytes_transferred=0)
at /usr/local/include/boost/asio/detail/scheduler_operation.hpp:40
#48 0x0000000000466b14 in boost::asio::detail::epoll_reactor::descriptor_state::do_complete (owner=0x112a4f0, base=0x112f100, ec=..., bytes_transferred=5)
at /usr/local/include/boost/asio/detail/impl/epoll_reactor.ipp:776
#49 0x00000000004486c7 in boost::asio::detail::scheduler_operation::complete (this=0x112f100, owner=0x112a4f0, ec=..., bytes_transferred=5)
at /usr/local/include/boost/asio/detail/scheduler_operation.hpp:40
50 0x0000000000447ae8 in boost::asio::detail::scheduler::do_run_one (this=0x112a4f0, lock=..., this_thread=..., ec=...) at /usr/local/include/boost/asio/detail/impl/scheduler.ipp:486
51 0x00000000005b3474 in boost::asio::detail::scheduler::run_one (this=0x112a4f0, ec=...) at /usr/local/include/boost/asio/detail/impl/scheduler.ipp:225
52 0x00000000005acc31 in boost::asio::io_context::run_one (this=0x112a480) at /usr/local/include/boost/asio/impl/io_context.ipp:78
53 0x00000000005a64de in appbase::application::exec (this=0xb6cea0 <appbase::application::instance()::_app>) at _deps/appbase-src/application.cpp:420
54 0x0000000000414d69 in main (argc=3, argv=0x7fff09094fd8) at ../src/main.cpp:97
I built the master branch (commit 381b1cc930cb1501489ac6993436f81ec491d06e) to work with eos 2.1.0 and found two problems:
hex string has incorrect length
. Looks like the error comes from https://github.com/EOSIO/history-tools/blob/master/src/state_history_pg.hpp#L43 I built witheosio_2.1.0-1-ubuntu-18.04_amd64.deb
andeosio.cdt_1.8.0-1-ubuntu-18.04_amd64.deb
, boost version is1.76.0
not sure if it matters.switch forks at block xxx
(process not responding, has tokill -9
). gdb backtrace shows:50 0x0000000000447ae8 in boost::asio::detail::scheduler::do_run_one (this=0x112a4f0, lock=..., this_thread=..., ec=...) at /usr/local/include/boost/asio/detail/impl/scheduler.ipp:486
51 0x00000000005b3474 in boost::asio::detail::scheduler::run_one (this=0x112a4f0, ec=...) at /usr/local/include/boost/asio/detail/impl/scheduler.ipp:225
52 0x00000000005acc31 in boost::asio::io_context::run_one (this=0x112a480) at /usr/local/include/boost/asio/impl/io_context.ipp:78
53 0x00000000005a64de in appbase::application::exec (this=0xb6cea0 <appbase::application::instance()::_app>) at _deps/appbase-src/application.cpp:420
54 0x0000000000414d69 in main (argc=3, argv=0x7fff09094fd8) at ../src/main.cpp:97