diff --git a/dap_chain_node_cli_cmd.c b/dap_chain_node_cli_cmd.c index 3869b1631a35d16a257bb50bd16b3d65c3906258..6b6b4f5d82c08e3fc9e1e0b7ec1b2379f196bb51 100644 --- a/dap_chain_node_cli_cmd.c +++ b/dap_chain_node_cli_cmd.c @@ -1140,9 +1140,12 @@ int com_node(int a_argc, char ** a_argv, char **a_str_reply) dap_chain_node_cli_set_reply_text(a_str_reply, "Error: can't sync with node "NODE_ADDR_FP_STR, NODE_ADDR_FP_ARGS_S(l_node_client->remote_node_addr)); + log_it(L_WARNING, "Gdb synced err -2"); return -2; } + log_it(L_INFO, "Gdb synced Ok"); + // Requesting chains dap_chain_t *l_chain = NULL; DL_FOREACH(l_net->pub.chains, l_chain) @@ -1158,6 +1161,7 @@ int com_node(int a_argc, char ** a_argv, char **a_str_reply) // clean client struct dap_chain_node_client_close(l_node_client); DAP_DELETE(l_remote_node_info); + log_it(L_INFO, "Chain '%s' synced error: Can't send sync chains request", l_chain->name); return -3; } log_it(L_NOTICE, "Requested syncronization for chain \"%s\"", l_chain->name); diff --git a/dap_chain_node_client.c b/dap_chain_node_client.c index 3ac5e2c326b7d7b4f014a231afec97487d6687b5..8ec2378dccf7079d9f05070c87b655197c5be3f5 100644 --- a/dap_chain_node_client.c +++ b/dap_chain_node_client.c @@ -287,12 +287,17 @@ static void s_ch_chain_callback_notify_packet_in(dap_stream_ch_chain_t* a_ch_cha if(a_pkt_type == DAP_STREAM_CH_CHAIN_PKT_TYPE_SYNCED_GLOBAL_DB) { a_ch_chain->request_last_ts = dap_db_log_get_last_id(); uint64_t l_start_item = l_request->id_start; + dap_db_log_list_t *l_db_log = NULL; // If the current global_db has been truncated, but the remote node has not known this + uint64_t l_last_id = dap_db_log_get_last_id(); if(l_request->id_start > a_ch_chain->request_last_ts){ - l_start_item = 0; + l_db_log = dap_db_log_list_start(l_start_item + 1); + if(!l_db_log) + l_start_item = 0; } //dap_list_t *l_list = dap_db_log_get_list(l_request->id_start + 1); - dap_db_log_list_t *l_db_log = dap_db_log_list_start(l_start_item + 1); + if(!l_db_log) + l_db_log = dap_db_log_list_start(l_start_item + 1); if(l_db_log) { // Add it to outgoing list //l_list->prev = a_ch_chain->request_global_db_trs;