During runNode if we have long running operation, such as replaying from storage, node cannot be stopped with SIGTERM.
When a node lost state.db, it starts replaying blocks from storage. During this, Ctrl + C is not handled properly and node cannot be stopped. Main cause is, replaying starts during ctor of the node, thus listeners.node cannot be assigned and is null. Following check fails to stop the node.
During
runNode
if we have long running operation, such as replaying from storage, node cannot be stopped with SIGTERM.When a node lost
state.db
, it starts replaying blocks from storage. During this,Ctrl + C
is not handled properly and node cannot be stopped. Main cause is, replaying starts during ctor of the node, thuslisteners.node
cannot be assigned and is null. Following check fails to stop the node.https://github.com/bosagora/agora/blob/dd2491c711296fcb561ec5b90900a7a3c7c194d1/source/agora/node/main.d#L245