Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[1.0.0-rc2] crash during replay #649

Closed
taokayan opened this issue Aug 27, 2024 · 8 comments · Fixed by #655 or #657
Closed

[1.0.0-rc2] crash during replay #649

taokayan opened this issue Aug 27, 2024 · 8 comments · Fixed by #655 or #657
Assignees
Labels
bug The product is not working as was intended. 👍 lgtm OCI Work exclusive to OCI team

Comments

@taokayan
Copy link
Contributor

command:
nodeos --replay-blockchain --config-dir ./config --data-dir /mnt/data-dir --genesis-json ./genesis.json


(lldb) bt

* thread #1, name = 'nodeos', stop reason = signal SIGSEGV

  * frame #0: 0x0000774fd0e969fc libc.so.6`__GI___pthread_kill at pthread_kill.c:44:76

    frame #1: 0x0000774fd0e969b0 libc.so.6`__GI___pthread_kill [inlined] __pthread_kill_internal(signo=11, threadid=131184694595520) at pthread_kill.c:78:10

    frame #2: 0x0000774fd0e969b0 libc.so.6`__GI___pthread_kill(threadid=131184694595520, signo=11) at pthread_kill.c:89:10

    frame #3: 0x0000774fd0e42476 libc.so.6`__GI_raise(sig=11) at raise.c:26:13

    frame #4: 0x00005dfa452ed7d3 nodeos`eosio::chain::eosvmoc::segv_handler(int, siginfo_t*, void*) + 243

    frame #5: 0x0000774fd0e42520 libc.so.6`__restore_rt

    frame #6: 0x00005dfa44c49d40 nodeos`fc::operator==(fc::sha256 const&, fc::sha256 const&)

    frame #7: 0x00005dfa4556116d nodeos`eosio::chain::fork_database_impl<std::__1::shared_ptr<eosio::chain::block_state_legacy> >::search_on_branch_impl(fc::sha256 const&, unsigned int, eosio::chain::include_root_t) const + 45

    frame #8: 0x00005dfa4556110a nodeos`eosio::chain::fork_database_t<std::__1::shared_ptr<eosio::chain::block_state_legacy> >::search_on_branch(fc::sha256 const&, unsigned int, eosio::chain::include_root_t) const + 58

    frame #9: 0x00005dfa450588c8 nodeos`auto eosio::chain::fork_database::apply<std::__1::optional<fc::sha256>, eosio::chain::controller_impl::fork_db_fetch_block_id_on_chain_head_branch_by_num(unsigned int) const::'lambda'(auto const&)>(eosio::chain::controller_impl::fork_db_fetch_block_id_on_chain_head_branch_by_num(unsigned int) const::'lambda'(auto const&) const&) const + 232

    frame #10: 0x00005dfa44d7cefc nodeos`eosio::chain::controller::chain_block_id_for_num(unsigned int) const + 92

    frame #11: 0x00005dfa4461750b nodeos`eosio::state_history_plugin_impl::get_block_id(unsigned int) + 203

    frame #12: 0x00005dfa445fafaf nodeos`std::__1::__function::__func<eosio::state_history_plugin_impl::plugin_initialize(boost::program_options::variables_map const&)::$_0, std::__1::allocator<eosio::state_history_plugin_impl::plugin_initialize(boost::program_options::variables_map const&)::$_0>, std::__1::optional<fc::sha256> (unsigned int)>::operator()(unsigned int&&) + 15

    frame #13: 0x00005dfa4474d731 nodeos`void eosio::state_history::state_history_log::pack_and_write_entry<eosio::state_history_plugin_impl::store_traces(std::__1::shared_ptr<eosio::chain::signed_block> const&, fc::sha256 const&)::'lambda'(boost::iostreams::filtering_streambuf<boost::iostreams::output, char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::iostreams::public_>&)&>(fc::sha256 const&, fc::sha256 const&, eosio::state_history_plugin_impl::store_traces(std::__1::shared_ptr<eosio::chain::signed_block> const&, fc::sha256 const&)::'lambda'(boost::iostreams::filtering_streambuf<boost::iostreams::output, char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::iostreams::public_>&)&) + 977

    frame #14: 0x00005dfa4474cffa nodeos`void eosio::state_history::log_catalog::pack_and_write_entry<eosio::state_history_plugin_impl::store_traces(std::__1::shared_ptr<eosio::chain::signed_block> const&, fc::sha256 const&)::'lambda'(boost::iostreams::filtering_streambuf<boost::iostreams::output, char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::iostreams::public_>&)>(fc::sha256 const&, fc::sha256 const&, eosio::state_history_plugin_impl::store_traces(std::__1::shared_ptr<eosio::chain::signed_block> const&, fc::sha256 const&)::'lambda'(boost::iostreams::filtering_streambuf<boost::iostreams::output, char, std::__1::char_traits<char>, std::__1::allocator<char>, boost::iostreams::public_>&)&&) + 426

    frame #15: 0x00005dfa4474c60d nodeos`eosio::state_history_plugin_impl::on_accepted_block(std::__1::shared_ptr<eosio::chain::signed_block> const&, fc::sha256 const&) + 93

    frame #16: 0x00005dfa44a588aa nodeos`boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, std::__1::tuple<std::__1::shared_ptr<eosio::chain::signed_block> const&, fc::sha256 const&> const&>, std::__1::__list_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::__1::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (std::__1::tuple<std::__1::shared_ptr<eosio::chain::signed_block> const&, fc::sha256 const&> const&), boost::function<void (std::__1::tuple<std::__1::shared_ptr<eosio::chain::signed_block> const&, fc::sha256 const&> const&)> >, boost::signals2::mutex> >, void*>, boost::signals2::detail::connection_body<std::__1::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (std::__1::tuple<std::__1::shared_ptr<eosio::chain::signed_block> const&, fc::sha256 const&> const&), boost::function<void (std::__1::tuple<std::__1::shared_ptr<eosio::chain::signed_block> const&, fc::sha256 const&> const&)> >, boost::signals2::mutex> >::dereference() const + 74

    frame #17: 0x00005dfa44fea1cf nodeos`boost::signals2::detail::signal_impl<void (std::__1::tuple<std::__1::shared_ptr<eosio::chain::signed_block> const&, fc::sha256 const&> const&), boost::signals2::optional_last_value<void>, int, std::__1::less<int>, boost::function<void (std::__1::tuple<std::__1::shared_ptr<eosio::chain::signed_block> const&, fc::sha256 const&> const&)>, boost::function<void (boost::signals2::connection const&, std::__1::tuple<std::__1::shared_ptr<eosio::chain::signed_block> const&, fc::sha256 const&> const&)>, boost::signals2::mutex>::operator()(std::__1::tuple<std::__1::shared_ptr<eosio::chain::signed_block> const&, fc::sha256 const&> const&) + 575

    frame #18: 0x00005dfa4503e2c3 nodeos`void eosio::chain::emit<boost::signals2::signal<void (std::__1::tuple<std::__1::shared_ptr<eosio::chain::signed_block> const&, fc::sha256 const&> const&), boost::signals2::optional_last_value<void>, int, std::__1::less<int>, boost::function<void (std::__1::tuple<std::__1::shared_ptr<eosio::chain::signed_block> const&, fc::sha256 const&> const&)>, boost::function<void (boost::signals2::connection const&, std::__1::tuple<std::__1::shared_ptr<eosio::chain::signed_block> const&, fc::sha256 const&> const&)>, boost::signals2::mutex>, std::__1::tuple<std::__1::shared_ptr<eosio::chain::signed_block> const&, fc::sha256 const&> >(boost::signals2::signal<void (std::__1::tuple<std::__1::shared_ptr<eosio::chain::signed_block> const&, fc::sha256 const&> const&), boost::signals2::optional_last_value<void>, int, std::__1::less<int>, boost::function<void (std::__1::tuple<std::__1::shared_ptr<eosio::chain::signed_block> const&, fc::sha256 const&> const&)>, boost::function<void (boost::signals2::connection const&, std::__1::tuple<std::__1::shared_ptr<eosio::chain::signed_block> const&, fc::sha256 const&> const&)>, boost::signals2::mutex> const&, std::__1::tuple<std::__1::shared_ptr<eosio::chain::signed_block> const&, fc::sha256 const&>&&, char const*, unsigned int) + 51

    frame #19: 0x00005dfa44d91067 nodeos`eosio::chain::controller_impl::commit_block(eosio::chain::controller::block_report&, eosio::chain::controller::block_status) + 583

    frame #20: 0x00005dfa44fe7b62 nodeos`bool eosio::chain::controller_impl::apply_block<std::__1::shared_ptr<eosio::chain::block_state_legacy> >(eosio::chain::controller::block_report&, std::__1::shared_ptr<eosio::chain::block_state_legacy> const&, eosio::chain::controller::block_status, std::__1::function<std::__1::shared_ptr<eosio::chain::transaction_metadata> (fc::sha256 const&)> const&) + 6098

    frame #21: 0x00005dfa44fe47da nodeos`auto void eosio::chain::controller_impl::replay_push_block<std::__1::shared_ptr<eosio::chain::block_state_legacy> >(std::__1::shared_ptr<eosio::chain::signed_block> const&, eosio::chain::controller::block_status)::'lambda'(auto const&)::operator()<std::__1::shared_ptr<eosio::chain::block_state_legacy> >(auto const&) const + 410

    frame #22: 0x00005dfa44fe31c9 nodeos`void eosio::chain::controller_impl::replay_push_block<std::__1::shared_ptr<eosio::chain::block_state_legacy> >(std::__1::shared_ptr<eosio::chain::signed_block> const&, eosio::chain::controller::block_status) + 281

    frame #23: 0x00005dfa44fe12ff nodeos`eosio::chain::controller_impl::replay_block_log() + 1439

    frame #24: 0x00005dfa44fde01c nodeos`eosio::chain::controller_impl::replay(eosio::chain::controller_impl::startup_t) + 188

    frame #25: 0x00005dfa44e69e77 nodeos`eosio::chain::controller_impl::init(eosio::chain::controller_impl::startup_t) + 2407

    frame #26: 0x00005dfa44d8b02a nodeos`eosio::chain::controller_impl::startup(std::__1::function<void ()>, std::__1::function<bool ()>, eosio::chain::genesis_state const&) + 746

    frame #27: 0x00005dfa44d768c7 nodeos`eosio::chain::controller::startup(std::__1::function<void ()>, std::__1::function<bool ()>, eosio::chain::genesis_state const&) + 183

    frame #28: 0x00005dfa449c49ac nodeos`eosio::chain_plugin_impl::plugin_startup() + 524

    frame #29: 0x00005dfa445d94ec nodeos`appbase::application_base::startup(boost::asio::io_context&) + 220

    frame #30: 0x00005dfa445c7baf nodeos`main + 8239

    frame #31: 0x00005dfa452ef0cb nodeos`__wrap_main + 91

    frame #32: 0x0000774fd0e29d90 libc.so.6`__libc_start_call_main(main=(nodeos`__wrap_main), argc=8, argv=0x00007ffd65e0bf38) at libc_start_call_main.h:58:16

    frame #33: 0x0000774fd0e29e40 libc.so.6`__libc_start_main_impl(main=(nodeos`__wrap_main), argc=8, argv=0x00007ffd65e0bf38, init=(_rtld_global), fini=<unavailable>, rtld_fini=<unavailable>, stack_end=0x00007ffd65e0bf28) at libc-start.c:392:3

    frame #34: 0x00005dfa445c2afa nodeos`_start + 42

(lldb) 
@taokayan taokayan added the bug The product is not working as was intended. label Aug 27, 2024
@heifner heifner added the OCI Work exclusive to OCI team label Aug 27, 2024
@heifner heifner added this to the Spring v1.0.0-rc3 milestone Aug 27, 2024
heifner added a commit that referenced this issue Aug 27, 2024
@heifner heifner linked a pull request Aug 27, 2024 that will close this issue
@bhazzard bhazzard added 👍 lgtm and removed triage labels Aug 27, 2024
heifner added a commit that referenced this issue Aug 27, 2024
[1.0] SHiP: Fix replay over savanna transition blocks
heifner added a commit that referenced this issue Aug 28, 2024
[1.0 -> main] SHiP: Fix replay over savanna transition blocks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug The product is not working as was intended. 👍 lgtm OCI Work exclusive to OCI team
Projects
Archived in project
6 participants
@bhazzard @heifner @taokayan @enf-ci-bot and others