Skip to content

5.0.0-rc3: review if exiting cleanly when running out of RAM is best course of action #2023

@matthewdarwin

Description

@matthewdarwin

My nodeos ran out of RAM..

Dec 29 03:02:15 wax-snap71c nodeos[2594144]: std::bad_alloc: Error unpacking field transactions
Dec 29 03:02:15 wax-snap71c nodeos[2594144]:     {"field":"transactions","what":"std::bad_alloc"}
Dec 29 03:02:15 wax-snap71c nodeos[2594144]:     net-8  raw.hpp:363 operator()
Dec 29 03:02:15 wax-snap71c nodeos[2594144]: error unpacking eosio::chain::signed_block
Dec 29 03:02:15 wax-snap71c nodeos[2594144]:     {"type":"eosio::chain::signed_block"}
Dec 29 03:02:15 wax-snap71c nodeos[2594144]:     net-8  raw.hpp:668 unpack

and then exited cleanly:

Dec 29 03:05:12 wax-snap71c nodeos[2594144]: info  2023-12-29T03:05:12.914 nodeos    http_plugin.cpp:515           plugin_shutdown      ] exit shutdown
Dec 29 03:05:12 wax-snap71c nodeos[2594144]: info  2023-12-29T03:05:12.916 nodeos    main.cpp:155                  operator()           ] nodeos version v5.0.0wax01-rc3 v5.0.0wax01-rc3-10c04d06485c8a1fdb52f6036dfa90b93813cb3a-dirty
Dec 29 03:05:12 wax-snap71c nodeos[2594144]: info  2023-12-29T03:05:12.916 nodeos    main.cpp:62                   log_non_default_opti ] Non-default options: [.........]
Dec 29 03:05:52 wax-snap71c systemd[1]: nodeos.service: Main process exited, code=killed, status=11/SEGV

I am not convinced that the state of the world is 100% accurate in this situation. Would it be better to not exit cleanly instead?(force user to revert to well known state)

For me, I have rolled back to earlier snapshot to avoid any doubt.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions