Closed
Description
Why
The signer node is unable to connect to the Cardano node with the Unix socket after the Cardano node has rebooted.
This has been reported by some SPO on Discord. This means that when the Cardano node is restarted after KES keys rotation, the signer also needs to the restarted.
This has been reproduced on pre-release-preview
:
{
"name": "mithril-signer", "level": 50, "time": "2025-04-18T07:38:27.652159815Z", "src": "StateMachine",
"msg": "An error occurred, runtime state kept. message = 'Could not compute message during 'ready to sign → ready to sign' phase (current epoch Epoch(906))'",
"nested_error": "Runner can not compute protocol message for signed entity type: 'CardanoTransactions'
Caused by:
0: Signable builder service can not compute protocol message with block_number: '3151245'
1: error while sending or receiving data through the channel
Stack backtrace:
0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
1: <mithril_common::chain_reader::pallas_chain_reader::PallasChainReader as mithril_common::chain_reader::interface::ChainBlockReader>::get_next_chain_block::{{closure}}
2: <mithril_common::cardano_block_scanner::chain_reader_block_streamer::ChainReaderBlockStreamer as mithril_common::cardano_block_scanner::interface::BlockStreamer>::poll_next::{{closure}}
3: tokio::runtime::park::CachedParkThread::block_on
4: tokio::runtime::context::runtime::enter_runtime
5: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll
6: tokio::runtime::task::raw::poll
7: tokio::runtime::blocking::pool::Inner::run
8: std::sys::backtrace::__rust_begin_short_backtrace
9: core::ops::function::FnOnce::call_once{{vtable.shim}}
10: std::sys::pal::unix::thread::Thread::new::thread_start
11: <unknown>
12: __clone"
}
What
Investigate the source of the problem and create a fix.
How
- Investigate the source of the problem (Ask Blockfrost team as they have already fixed a similar problem)
- Create the fix