Code Monkey home page Code Monkey logo

eos's People

Contributors

andrewscheidecker avatar arhag avatar asiniscalchi avatar b1bart avatar brianjohnson5972 avatar bytemaster avatar cj-oci avatar dskvr avatar elmato avatar heifner avatar jgiszczak avatar kesar avatar larryk85 avatar mitza-oci avatar moskvanaft avatar nathanielhourt avatar noprom avatar pacificcode avatar paulcalabrese avatar pmesnier avatar qianxiaofeng avatar sergmetelin avatar spoonincode avatar taokayan avatar tbfleming avatar thaipanda avatar thomasbcox avatar wanderingbort avatar zorba80 avatar zreyn avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

crazy-dog-zheng

eos's Issues

初始启动只有7个bp,升级版本成功后,未达到共识

注册bp的时候只有7个节点注册,并且成功出块

Producer      Producer key                                              Url                                                         Scaled votes
boscorebos11  EOS6CnMhuP3SnLWmGNZyoJqKtzmNJcVG1whmFqjivt4GRT1pfgTwA     http://boscore.io                                           0.1429
boscorebos12  EOS66jdoCC9oKy2N79bQPF4pH4XmeZLBEfxTP5gk7s1ykmSES4P3z     http://boscore.io                                           0.1429
boscorebos13  EOS8kMTX3wZkDc8RZa7yPpR6xekJ6zbddXonCXwKHSyUXx8R2sgyW     http://boscore.io                                           0.1429
boscorebos14  EOS8iyg3HRBjKgycfj6qhBM3b5amvFgTyeVJ2J466mhEvW2xVZ1G4     http://boscore.io                                           0.1429
boscorebos21  EOS85uiugd4Lm3kqLSqPkn9SDkS5TnoVQ52GoYNjynMe3mPfP1W13                                                                 0.1429
boscorebos22  EOS7auSc86orFFXy6cwoid2rUMKxz4A93vdq98kgTsjURv7zZYTHy                                                                 0.1429
boscoretokyo  EOS7B2h89KDYXzVNj6G8MLkFgQExfns1ssTH19MkDTPcFBTfssJb4     http://boscore.io                                           0.1429

当设置升级高度的时候,设置成功

cleos -u http://127.0.0.1:9999  push action eosio setupgrade '{"up":{"target_block_num":5300}}' -p eosio
executed transaction: 2e9c530b672cead2dfb800fc935bdd5e674f09f88b37c1d33248f06ac8856b1d  96 bytes  1310 us
#         eosio <= eosio::setupgrade            {"up":{"target_block_num":5300}}
warning: transaction executed locally, but may not be confirmed by the network yet         ] 

lib进入5300高度,系统切换了bpft版本,但是lib却不走,因为bp没达到15个么?pbft版本的共识不是2/3n+1?而是15个?

2019-05-24T11:24:37.004350784Z info  2019-05-24T11:24:37.004 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block aa9ce062697a6dad... #6206 @ 2019-05-24T11:24:37.000 signed by boscoretokyo [trxs: 0, lib: 5303, lscb: 0, latency: 4 ms]
2019-05-24T11:24:37.505466185Z info  2019-05-24T11:24:37.505 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block 02cdc7ea7bd585e4... #6207 @ 2019-05-24T11:24:37.500 signed by boscoretokyo [trxs: 0, lib: 5303, lscb: 0, latency: 5 ms]
2019-05-24T11:24:38.004328438Z info  2019-05-24T11:24:38.004 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block 0b7800b8254221ec... #6208 @ 2019-05-24T11:24:38.000 signed by boscoretokyo [trxs: 0, lib: 5303, lscb: 0, latency: 4 ms]
2019-05-24T11:24:38.504395074Z info  2019-05-24T11:24:38.504 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block 1389254cfcb8fc8a... #6209 @ 2019-05-24T11:24:38.500 signed by boscoretokyo [trxs: 0, lib: 5303, lscb: 0, latency: 4 ms]
2019-05-24T11:24:39.004402596Z info  2019-05-24T11:24:39.004 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block 31644d16a30ac29d... #6210 @ 2019-05-24T11:24:39.000 signed by boscoretokyo [trxs: 0, lib: 5303, lscb: 0, latency: 4 ms]
2019-05-24T11:24:39.504820775Z info  2019-05-24T11:24:39.504 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block 0545c96f2f1dc0f8... #6211 @ 2019-05-24T11:24:39.500 signed by boscoretokyo [trxs: 0, lib: 5303, lscb: 0, latency: 4 ms]
2019-05-24T11:24:40.004211288Z info  2019-05-24T11:24:40.004 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block f7d6e54e9c8e9af6... #6212 @ 2019-05-24T11:24:40.000 signed by boscoretokyo [trxs: 0, lib: 5303, lscb: 0, latency: 4 ms]
2019-05-24T11:24:40.504568221Z info  2019-05-24T11:24:40.504 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block ae9e36b1fe8b7949... #6213 @ 2019-05-24T11:24:40.500 signed by boscoretokyo [trxs: 0, lib: 5303, lscb: 0, latency: 4 ms]
2019-05-24T11:24:41.005238119Z info  2019-05-24T11:24:41.005 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block f3a12e7bd2686afa... #6214 @ 2019-05-24T11:24:41.000 signed by boscoretokyo [trxs: 0, lib: 5303, lscb: 0, latency: 5 ms]
2019-05-24T11:24:41.504717516Z info  2019-05-24T11:24:41.504 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block 2cfb836164ef95e1... #6215 @ 2019-05-24T11:24:41.500 signed by boscoretokyo [trxs: 0, lib: 5303, lscb: 0, latency: 4 ms]
2019-05-24T11:24:42.005116851Z info  2019-05-24T11:24:42.004 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block 85c09810be94a8ce... #6216 @ 2019-05-24T11:24:42.000 signed by boscorebos11 [trxs: 0, lib: 5303, lscb: 0, latency: 4 ms]
2019-05-24T11:24:42.504801708Z info  2019-05-24T11:24:42.504 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block 8990f61837c2177c... #6217 @ 2019-05-24T11:24:42.500 signed by boscorebos11 [trxs: 0, lib: 5303, lscb: 0, latency: 4 ms]
2019-05-24T11:24:43.004265924Z info  2019-05-24T11:24:43.004 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block e8ee401012c618fc... #6218 @ 2019-05-24T11:24:43.000 signed by boscorebos11 [trxs: 0, lib: 5303, lscb: 0, latency: 4 ms]
2019-05-24T11:24:43.505452879Z info  2019-05-24T11:24:43.505 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block 595d01843460c19c... #6219 @ 2019-05-24T11:24:43.500 signed by boscorebos11 [trxs: 0, lib: 5303, lscb: 0, latency: 5 ms]
2019-05-24T11:24:44.004821735Z info  2019-05-24T11:24:44.004 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block 01a0e3a8d3d3b00d... #6220 @ 2019-05-24T11:24:44.000 signed by boscorebos11 [trxs: 0, lib: 5303, lscb: 0, latency: 4 ms]
2019-05-24T11:24:44.505010527Z info  2019-05-24T11:24:44.504 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block 281a904dcf43bd23... #6221 @ 2019-05-24T11:24:44.500 signed by boscorebos11 [trxs: 0, lib: 5303, lscb: 0, latency: 4 ms]
2019-05-24T11:24:45.004776286Z info  2019-05-24T11:24:45.004 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block fe06a281f5d81f51... #6222 @ 2019-05-24T11:24:45.000 signed by boscorebos11 [trxs: 0, lib: 5303, lscb: 0, latency: 4 ms]
2019-05-24T11:24:45.504485493Z info  2019-05-24T11:24:45.504 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block 2949a290ae2d15bc... #6223 @ 2019-05-24T11:24:45.500 signed by boscorebos11 [trxs: 0, lib: 5303, lscb: 0, latency: 4 ms]
2019-05-24T11:24:46.004433805Z info  2019-05-24T11:24:46.004 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block c70a27addfa2ed68... #6224 @ 2019-05-24T11:24:46.000 signed by boscorebos11 [trxs: 0, lib: 5303, lscb: 0, latency: 4 ms]
2019-05-24T11:24:46.505323312Z info  2019-05-24T11:24:46.505 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block 3973f974cb346510... #6225 @ 2019-05-24T11:24:46.500 signed by boscorebos11 [trxs: 0, lib: 5303, lscb: 0, latency: 5 ms]
2019-05-24T11:24:47.004959282Z info  2019-05-24T11:24:47.004 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block e07d935394d2386d... #6226 @ 2019-05-24T11:24:47.000 signed by boscorebos11 [trxs: 0, lib: 5303, lscb: 0, latency: 4 ms]
2019-05-24T11:24:47.504472461Z info  2019-05-24T11:24:47.504 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block 89ddd91e6c4adbb6... #6227 @ 2019-05-24T11:24:47.500 signed by boscorebos11 [trxs: 0, lib: 5303, lscb: 0, latency: 4 ms]
2019-05-24T11:24:48.005218803Z info  2019-05-24T11:24:48.005 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block ae0641bcb7002b06... #6228 @ 2019-05-24T11:24:48.000 signed by boscorebos12 [trxs: 0, lib: 5303, lscb: 0, latency: 5 ms]
2019-05-24T11:24:48.505618360Z info  2019-05-24T11:24:48.505 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block c136839c43a522cd... #6229 @ 2019-05-24T11:24:48.500 signed by boscorebos12 [trxs: 0, lib: 5303, lscb: 0, latency: 5 ms]
2019-05-24T11:24:49.005531220Z info  2019-05-24T11:24:49.005 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block 874ab994a9a6df55... #6230 @ 2019-05-24T11:24:49.000 signed by boscorebos12 [trxs: 0, lib: 5303, lscb: 0, latency: 5 ms]
2019-05-24T11:24:49.504731687Z info  2019-05-24T11:24:49.504 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block e64f7a579f56f8e1... #6231 @ 2019-05-24T11:24:49.500 signed by boscorebos12 [trxs: 0, lib: 5303, lscb: 0, latency: 4 ms]

net_plugin多线程整改(net_plugin部分)

当前net_plugin和其它plugin都是在同一个线程中运行的,现在希望能把net_plugin独立拿出来做成单独的net_plugin线程。


经分析,主要难度在于修改net_plugin与其它plugin之间的通信,下面是主要的一些通信方式:

  1. appbase::channel通信(本质是使用的boost::signals2::signal)
  2. appbase::method通信(本质也是使用的boost::signals2::signal)
  3. 使用原生的boost::signals2::signal
  4. 通过引入其它的plugin直接进行调用

net_plugin调用(通知)其它plugin的情况

  1. net_plugin发布消息的通道(在net_plugin新启动的子线程中通过post发送数据给net_plugin父线程函数A,然后由父线程函数A publish给其它plugin):
    • pbft_incoming_prepare_channel
      发布点: net_plugin中
      pbft_incoming_prepare_channel.publish(std::make_shared<pbft_message_metadata<pbft_prepare>>(std::move(pmm)));
      订阅点: chain_plugin中
      my->pbft_incoming_prepare_channel.subscribe
    • pbft_incoming_commit_channel
      发布点: net_plugin中
      pbft_incoming_commit_channel.publish(std::make_shared<pbft_message_metadata<pbft_commit>>(std::move(pmm)));
      订阅点: chain_plugin
      my->pbft_incoming_commit_channel.subscribe
    • pbft_incoming_view_change_channel
      发布点: net_plugin
      pbft_incoming_view_change_channel.publish(std::make_shared<pbft_message_metadata<pbft_view_change>>(std::move(pmm)));
      订阅点: chain_plugin
      my->pbft_incoming_view_change_channel.subscribe
    • pbft_incoming_new_view_channel
      发布点: net_plugin
      pbft_incoming_new_view_channel.publish(std::make_shared<pbft_message_metadata<pbft_new_view>>(std::move(pmm)));
      订阅点: chain_plugin
      my->pbft_incoming_new_view_channel.subscribe
    • pbft_incoming_checkpoint_channel
      发布点: net_plugin
      pbft_incoming_checkpoint_channel.publish(std::make_shared<pbft_message_metadata<pbft_checkpoint>>(std::move(pmm)));
      订阅点: chain_plugin
      my->pbft_incoming_checkpoint_channel.subscribe
  2. net_plugin中method相关:
  3. net_plugin中boost::signals2::signal相关:
  4. net_plugin中函数间接调用其它plugin的channel/method等
    • fc::logger extern std::unordered_mapstd::string,logger& get_logger_map(); 是否线程安全??
      • 两个方面整改,1. 日志需要打印线程名称;2. 线程之间打印日志不能混乱(需要加锁);
    • sync_manager
    • dispatch_manager
    • struct by_expiry;
    • chain_plug,
      • uint32_t head_num = cc.fork_db_head_block_num();
      • lib_id = cc.last_irreversible_block_id();
      • sync_known_lib_num = chain_plug->chain().last_irreversible_block_num();
      • head_id = cc.fork_db_head_block_id();
      • signed_block_ptr sb = cc.fetch_block_by_number(num)
      • signed_block_ptr b = cc.fetch_block_by_id(blkid);
      • uint32_t lscb_num = cc.last_stable_checkpoint_block_num();
      • auto head_num = cc.head_block_num();
      • chain_plug->pbft_ctrl().pbft_db.get_checkpoint_interval();
      • block_id_type peer_lib_id = cc.get_block_id_for_num( peer_lib);
      • auto scp = pcc.pbft_db.get_stable_checkpoint_by_id(bid);
      • cc.get_read_mode()
      • chain_plug->accept_transaction(ptrx,
      • auto scp = pcc.pbft_db.fetch_stable_checkpoint_from_blk_extn(msg);
      • pcc.pbft_db.checkpoint_local();
      • chain_plug->accept_block(msg);
      • pcc.pbft_db.is_valid_prepare(pmm.msg, pmm.sender_key)
      • pcc.pbft_db.is_valid_commit(pmm.msg, pmm.sender_key)
      • pcc.pbft_db.is_valid_view_change(pmm.msg, pmm.sender_key)
      • pcc.state_machine.get_current_view()
      • pcc.pbft_db.get_new_view_primary_key(pmm.msg.new_view)
      • pcc.pbft_db.is_valid_checkpoint(pmm.msg, pmm.sender_key)
      • pcc.pbft_db.is_valid_stable_checkpoint(msg, true)
      • my->chain_id = my->chain_plug->get_chain_id();
      • cc.accepted_block.connect( boost::bind(&net_plugin_impl::accepted_block, my.get(), _1));
      • cc.is_pbft_enabled()
    • producer_plug
      • producer_plug->is_producer_key(msg.key)
      • producer_plug->get_state()
      • producer_plug->sign_compact(signer, digest)
    • local_txns
    • net_plugin 依赖chain_plugin, 所以net_plugin可能有直接调用chain_plugin的行为

其它plugin调用net_plugin的情况

  1. net_plugin订阅的消息通道:
    • app().get_channelchannels::transaction_ack().subscribe
      • 有两个地方publish,都在producer_plugin
        1. _transaction_ack_channel.publish(std::pair<fc::exception_ptr, transaction_metadata_ptr>(response.getfc::exception_ptr(), trx));
        2. _transaction_ack_channel.publish(std::pair<fc::exception_ptr, transaction_metadata_ptr>(nullptr, trx));
    • app().get_channeleosio::chain::plugin_interface::pbft::outgoing::prepare_channel().subscribe
      • chain_plugin
        • my->pbft_outgoing_prepare_channel.publish( prepare );
    • app().get_channeleosio::chain::plugin_interface::pbft::outgoing::commit_channel().subscribe
      • chain_plugin
        • my->pbft_outgoing_commit_channel.publish( commit );
    • app().get_channeleosio::chain::plugin_interface::pbft::outgoing::view_change_channel().subscribe
      • chain_plugin
        • my->pbft_outgoing_view_change_channel.publish( view_change );
    • app().get_channeleosio::chain::plugin_interface::pbft::outgoing::new_view_channel().subscribe
      • chain_plugin
        • my->pbft_outgoing_new_view_channel.publish( new_view );
    • app().get_channeleosio::chain::plugin_interface::pbft::outgoing::checkpoint_channel().subscribe
      • chain_plugin
        • my->pbft_outgoing_checkpoint_channel.publish( checkpoint );
  2. net_plugin订阅的method:
  3. 直接使用boost::signals2::signal
  4. 其它plugin直接或间接调用
    1. txn_test_gen_plugin.cpp
      • auto peers_conn = app().get_plugin<net_plugin>().connections();
      • app().get_plugin<net_plugin>().disconnect(c.peer);
      • app().get_plugin<net_plugin>().connect(c.peer);
    2. net_api_plugin.cpp
      • CALL(net, net_mgr, connect,
        INVOKE_R_R(net_mgr, connect, std::string), 201),
      • CALL(net, net_mgr, disconnect,
        INVOKE_R_R(net_mgr, disconnect, std::string), 201),
      • CALL(net, net_mgr, status,
        INVOKE_R_R(net_mgr, status, std::string), 201),
      • CALL(net, net_mgr, connections,
        INVOKE_R_V(net_mgr, connections), 201),
    3. pbft_plugin.cpp
      • app().get_plugin<net_plugin>().maybe_sync_stable_checkpoints();
      • app().get_plugin<net_plugin>().is_syncing();

PBFT Exception when apply new view

env: cluster 2
version: 52208ea
docker version: eosiosg/dpos-pbft:bos-v0.11.0
TPS: 0 or 100

There are three kinds of exception that occurred up to now in the function is_valid_new_view:

  1. bad prepared certificate
    https://github.com/eosiosg/eos/blob/52208ea3d7ec3868e7d8b94d795ef30a6bea137f/libraries/chain/pbft_database.cpp#L887
  2. bad commited certificate
    https://github.com/eosiosg/eos/blob/52208ea3d7ec3868e7d8b94d795ef30a6bea137f/libraries/chain/pbft_database.cpp#L894
  3. prepared certificate does not match, should be ${hppc} but ${pc} given
    https://github.com/eosiosg/eos/blob/52208ea3d7ec3868e7d8b94d795ef30a6bea137f/libraries/chain/pbft_database.cpp#L953

where $hppc:

{
"block_info": {
"block_id": "00055e8ca09a2c4867e6e92c6ec7a7a78783ec6f63e926b57815e2d2f793b2e1"
},
"pre_prepares": [
"00055e8ca09a2c4867e6e92c6ec7a7a78783ec6f63e926b57815e2d2f793b2e1",
"00055e8d1460ff28457d1c5fbfd903759451cd4fe7f92c457249c321c32ab91d",
"00055e8e09a19e58242f142ea1b70f9466af8a65d1c4105a30b35b930aee92a7"
],
"prepares": [
{
"common": {
"type": "prepare",
"uuid": "f3ad4dc0-4785-4749-a677-62ece2d173b9",
"sender": "EOS5RS7zr2um4z8cChehvg4nAjoEzLh7FpqbJN7fx4iwCJLJ8WZ8a",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:40.218"
},
"view": 254,
"block_info": {
"block_id": "00055e8ca09a2c4867e6e92c6ec7a7a78783ec6f63e926b57815e2d2f793b2e1"
},
"sender_signature": "SIG_K1_KY4AGgF6gYVC1YSwTc4HCvA4VBQaR2jn5Mys7Kk8jPGrxFe2oUuxh31K11dUxSvdFZBT281BcypJG8aaoQMnE7Zufi4EYL"
},
{
"common": {
"type": "prepare",
"uuid": "2245fe06-bf2c-4918-a1fa-3101e95778e9",
"sender": "EOS5TnNcuyzYSaMtVCfK961HuTAtERH4J467KvZm7CSiwbEPcvyta",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:41.759"
},
"view": 254,
"block_info": {
"block_id": "00055e8ca09a2c4867e6e92c6ec7a7a78783ec6f63e926b57815e2d2f793b2e1"
},
"sender_signature": "SIG_K1_K6BMYg6oPBERWhc9QhhSo7Dj5bPtJbYvz9x8LgqYinWjLyobZoz2tFPHwNMKkn56726jTPZUqYPwKD4gGJfzZBbX7k8Z7L"
},
{
"common": {
"type": "prepare",
"uuid": "6edb316c-e6db-4d4d-95e6-d9778299eff0",
"sender": "EOS7BbmLoTdmuUkht7VrFBJTLac1i9ChLWsMZDNo4q3qiJw7crtVc",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:40.504"
},
"view": 254,
"block_info": {
"block_id": "00055e8ca09a2c4867e6e92c6ec7a7a78783ec6f63e926b57815e2d2f793b2e1"
},
"sender_signature": "SIG_K1_Kj3TcayWMmTaDXhycRnQSAUwxL4huFbe9Upu5QDFGtt7SUi1mc5T4JHUMzumqKvMxeipm5zHwEzedvSXu4Qf4Kaaxy5uNT"
},
{
"common": {
"type": "prepare",
"uuid": "0f01f2f5-6ae9-4b22-8ea8-5623376f17d2",
"sender": "EOS8A98zLF4X2mGCcrX7f1BtmSuxf6ucb7FNFNLUNiq5jUu5p86Fy",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:40.911"
},
"view": 254,
"block_info": {
"block_id": "00055e8ca09a2c4867e6e92c6ec7a7a78783ec6f63e926b57815e2d2f793b2e1"
},
"sender_signature": "SIG_K1_KhvFr1WARxa2pcWf6REjzY5BfnpUEfZriz3YBLaL2T2Lw4qpcT27vE6P8jZ4Nq7R8h3xWKMTuGQ3Uf7h9K2qPtCBBbEoxe"
},
{
"common": {
"type": "prepare",
"uuid": "eceb7074-9636-4587-8b25-3adaf09256a7",
"sender": "EOS6vboxEGBf43r6P7UjrTvE3sTt49ZsVz3ULPV6QUmfkTjuJ6EHa",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:40.929"
},
"view": 254,
"block_info": {
"block_id": "00055e8ca09a2c4867e6e92c6ec7a7a78783ec6f63e926b57815e2d2f793b2e1"
},
"sender_signature": "SIG_K1_KcewLGtMxkJfcJD21iUqiZAKEyMoQoB6Qofng5WFCNnexzcXPC6mGaFpfKYydTmwXBfMAfwZkY2aGUAsU5kNzBWxBAfsPy"
},
{
"common": {
"type": "prepare",
"uuid": "eefc881e-958c-4d16-95fc-1f484d97d249",
"sender": "EOS6eMGpgRJ3HRHctRuJFs564RsQ4GhohUBE7qA98rBY88bRsjQM1",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:40.807"
},
"view": 254,
"block_info": {
"block_id": "00055e8ca09a2c4867e6e92c6ec7a7a78783ec6f63e926b57815e2d2f793b2e1"
},
"sender_signature": "SIG_K1_K5CfTwVXdagLrC6mWpgCwKV34vtebphBjHxQKk8ugY6WJPuK8AkcSZJAfAAZ1NkrhANCqhSaXbmWvrdytR6CQHGMTqhhDW"
},
{
"common": {
"type": "prepare",
"uuid": "e360b3d7-d5a7-40e1-a431-58582ad43551",
"sender": "EOS8VRfSoyS1frV3CBPeobJ1cvMCYGY3cwx1YiqPYydXDWgmyNXrE",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:41.212"
},
"view": 254,
"block_info": {
"block_id": "00055e8ca09a2c4867e6e92c6ec7a7a78783ec6f63e926b57815e2d2f793b2e1"
},
"sender_signature": "SIG_K1_KWArAKy7owVfzeYpwoZRtT8ojMof9NvdTHyDii2UFLXB78DsM4hXdzqRiNPD4B7WnHjj37U8EiD8jFDWdqfCtmZERpRNN2"
},
{
"common": {
"type": "prepare",
"uuid": "25e082f0-3150-4011-9672-ed5344aeca90",
"sender": "EOS6fYF2DBV3qe6Px3bt8wavRufEvfepTDKZZSizcfXksiDAR4xvv",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:40.048"
},
"view": 254,
"block_info": {
"block_id": "00055e8ca09a2c4867e6e92c6ec7a7a78783ec6f63e926b57815e2d2f793b2e1"
},
"sender_signature": "SIG_K1_Kc6yFXFLZEpXVuDhyUGcyWvfJtEevuQYxVBrXaqbohWNp2SbyaUU2Zhgn7DD2mFtuXsGCRZgMcEqawwF2bm3HxmD7HF9Ht"
},
{
"common": {
"type": "prepare",
"uuid": "2927c21d-6e20-4ff9-a23b-2d37e13921a7",
"sender": "EOS6U1Kj9VNJvxJeKr3t1dmawAFTkcsaPBL8wkKr9akXLX4wqU1jV",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:40.774"
},
"view": 254,
"block_info": {
"block_id": "00055e8ca09a2c4867e6e92c6ec7a7a78783ec6f63e926b57815e2d2f793b2e1"
},
"sender_signature": "SIG_K1_KkcqHiMqnBY1SnWKCvXR7Z9b18ZqtBG6yyzsXwV6v4w6ysZhaVujpSELnmhcQSuTEsUDuf7zQLmcjxUQa68HFikRiGheDb"
},
{
"common": {
"type": "prepare",
"uuid": "6954101a-be11-4b74-af48-3f8b060588d8",
"sender": "EOS82bUcqrCGCHZXJ2h6cPvoarYTfWt6hDzNW8dg8iXR2t7ytNsK7",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:36.599"
},
"view": 254,
"block_info": {
"block_id": "00055e8ca09a2c4867e6e92c6ec7a7a78783ec6f63e926b57815e2d2f793b2e1"
},
"sender_signature": "SIG_K1_K2rAFq16r9pFfVJGXxqVnXu1fs68NAKTUGLLBWcAnf2K25m1k2VrRqi9K5ttd6F3unzaEc8dPnhDgyubAnwes7eRGBtmKH"
},
{
"common": {
"type": "prepare",
"uuid": "2300120a-f495-4874-89de-7e7c90efbad1",
"sender": "EOS59VzXAtqT61rBeG5X967XH6chv96i7EWCdWPtT3ZUNBMPvaUa8",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:41.654"
},
"view": 254,
"block_info": {
"block_id": "00055e8ca09a2c4867e6e92c6ec7a7a78783ec6f63e926b57815e2d2f793b2e1"
},
"sender_signature": "SIG_K1_KeMsyTCPfYdXxFyh25TWso7xS9orPk3m3yDS1hzH7vYCwVhsVtBzV7We2vk1zNHcyGMqXTgM2BjczEwYwgY9SEie4NriCj"
},
{
"common": {
"type": "prepare",
"uuid": "7ebe5835-2d9f-41e5-80bf-c47cb634d972",
"sender": "EOS5QZyPh8kfs5Ar3R2vzJ9QjDrH1x8o6X1CsR6vyANDkVFdmzjbj",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:40.395"
},
"view": 254,
"block_info": {
"block_id": "00055e8d1460ff28457d1c5fbfd903759451cd4fe7f92c457249c321c32ab91d"
},
"sender_signature": "SIG_K1_K324Jy5NZm55aiZU5vp582SiyJqLg9ZzcSRpb973TTGGVJa6j53J4bCDaD12uEc9zwWmcQGGrNFMTsr3r9ZnT82X6aHEc4"
},
{
"common": {
"type": "prepare",
"uuid": "3bdf2b5d-2490-4031-a41f-bbeeaacd41d8",
"sender": "EOS8Na7TRhhkWRaDEbyQdAx5mtPWTrTnbQE2849NtGyWYUCCa2iAJ",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:40.195"
},
"view": 254,
"block_info": {
"block_id": "00055e8d1460ff28457d1c5fbfd903759451cd4fe7f92c457249c321c32ab91d"
},
"sender_signature": "SIG_K1_Kit11fBNSwgaWFcSsCMrqPJLCb4xdXKUz9zBaUf3vEjhSBhM6YdPxNaxaoVC9dFcHSKmrWTjiw9PnyLdeKejdtibhKspk8"
},
{
"common": {
"type": "prepare",
"uuid": "d6c7b830-68bb-464c-9814-042c4a040d4f",
"sender": "EOS5dUiLcsqMzSoZinnHhtqi1kk9YmEZCnyRmDWN68qbXMMXrCMvP",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:40.372"
},
"view": 254,
"block_info": {
"block_id": "00055e8d1460ff28457d1c5fbfd903759451cd4fe7f92c457249c321c32ab91d"
},
"sender_signature": "SIG_K1_Kd9SnUuf85wx9zZvXHL3dKz1wCuShCD4XQ3MM7q9Vcc2CAxWzrAwu2bqgZBs38iCAJ8C11Upawq4kN8ZtnXof8ENm9ybiR"
},
{
"common": {
"type": "prepare",
"uuid": "a7ab7486-c1cc-4bbc-a1cf-40f5693f6f0f",
"sender": "EOS82bXWznxM5wLzemsqycGF9Czqco6X5vtiUqNq7nzGAbWgnfXHZ",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:40.349"
},
"view": 254,
"block_info": {
"block_id": "00055e8d1460ff28457d1c5fbfd903759451cd4fe7f92c457249c321c32ab91d"
},
"sender_signature": "SIG_K1_KekQPHCvLDSrC8wG3HaMXrauHwiaQ6v7ZCid1Bf6AzNSrq5t3zywxdbTheA1ue6cG5p3PHiSvk587oWitPAoEF35r2kaQw"
},
{
"common": {
"type": "prepare",
"uuid": "708933ab-44d0-439c-b7be-99e6a12bc2cc",
"sender": "EOS4vRTZ9ZMQ32YbfopkJzxRRLW9i3FRGvyFE5CvWf5gcokXtp61e",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:40.513"
},
"view": 254,
"block_info": {
"block_id": "00055e8e09a19e58242f142ea1b70f9466af8a65d1c4105a30b35b930aee92a7"
},
"sender_signature": "SIG_K1_JwwgKLKi1vmFygTdS99Et1BbQkz1Tu6FwV5BxaehW72CFRuyuUuTgucAyaTXkzaCafxBbSwAF4WbMxZetPxqTMSUuNYQjC"
},
{
"common": {
"type": "prepare",
"uuid": "a8e6611a-3cfe-4ca0-a473-916004046c72",
"sender": "EOS6S2fmuFfkH7HyTc1e3nBtDo8QaJq4onYvJGcNgiA3xfGBGWwRn",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:40.744"
},
"view": 254,
"block_info": {
"block_id": "00055e8e09a19e58242f142ea1b70f9466af8a65d1c4105a30b35b930aee92a7"
},
"sender_signature": "SIG_K1_K9ki2MXv5fzBsUjiyMraTnFMws1ktNXnvFsgjqjTXbC34N3CoPoBhJCEscHMWgnpnrtoESbAPS5CmsTw84cDNRHXTqccGB"
},
{
"common": {
"type": "prepare",
"uuid": "d736e3d8-bc08-4654-9aa6-c96ea003b0c2",
"sender": "EOS8mtf18vDppwW17LWi3gkJyvT8R6BkiW4YKysQFNjg1z1qyoKPH",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:41.487"
},
"view": 254,
"block_info": {
"block_id": "00055e8e09a19e58242f142ea1b70f9466af8a65d1c4105a30b35b930aee92a7"
},
"sender_signature": "SIG_K1_K38dyeuYmnLsRxYYZaQv8RWBLf4EifxgynbG6eVpBudnFaWfLx983GmREPf281zuoyGWzqR5hphmWWyf6rejbnBZbhVQWp"
}
]
}

$pc

{
"block_info": {
"block_id": "00055e83918d2217d426a2665b0012408fe0bfdf300790d332e9d8bf64012fec"
},
"pre_prepares": [
"00055e83918d2217d426a2665b0012408fe0bfdf300790d332e9d8bf64012fec",
"00055e844e4ba0b4a7d02b5d7070f754f7684cdcb5706f267f3f624c96945ab7",
"00055e85b30e6e79ffb5efc785ae364462170a427794167e872dc94f945b8e26",
"00055e8633df8d15b85be184745fb6c1cf1bf65577176b1a93fbe99e452d1661",
"00055e8714269ec46266d665268147ea3b387a8b1935e2919ee9a5726cd0a6a4",
"00055e8868cfd5e0a32e536f9c85212d75c8e4f0f9e95b404bf67460f0c5b1bb",
"00055e897fd58a1d1292bd8ecdd8b1e5dda506f163b49a2c9dc65a75d53929cb",
"00055e8a2603f26d5504d12ecf842daf82d0dfd6579cbb282594411aebd0a50c",
"00055e8b0e2fbb2cdadfea14fd31dfa101d7991405da43b50013f475856d5c98",
"00055e8ca09a2c4867e6e92c6ec7a7a78783ec6f63e926b57815e2d2f793b2e1",
"00055e8d1460ff28457d1c5fbfd903759451cd4fe7f92c457249c321c32ab91d",
"00055e8e09a19e58242f142ea1b70f9466af8a65d1c4105a30b35b930aee92a7",
"00055e8f65d8cdc8cdc9e358a6ffcb226e92bafe97f70e5fad139e6ac92b7e3b",
"00055e908ec638929b52c82ba8113bcfbe2053a6a042b5216f05717ae7858397",
"00055e9165506dc7bb10238b3a66d31acbefe01f0fa608d5ba6590143dc2321a",
"00055e92e39f26e0f870267d65dccf88c13145eee8aac971c0ca41c243a47413",
"00055e9383803c6b4fe32b93e59cea11c54e63b7a3641aa7bc0d5a06942d2567"
],
"prepares": [
{
"common": {
"type": "prepare",
"uuid": "4f1fa2d7-0d5f-47b0-b03a-26319bc40ce7",
"sender": "EOS59VzXAtqT61rBeG5X967XH6chv96i7EWCdWPtT3ZUNBMPvaUa8",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:32.902"
},
"view": 254,
"block_info": {
"block_id": "00055e83918d2217d426a2665b0012408fe0bfdf300790d332e9d8bf64012fec"
},
"sender_signature": "SIG_K1_KauySZ1nNNVuh8yseyX3V8N1YFByVfUyTWnVQpFym87Emt975B5DgrHMgDrwCzk2iapWjPGckhHu8kmgFwbSJ12PP5xTYT"
},
{
"common": {
"type": "prepare",
"uuid": "7231377e-a5b6-4ef7-ac5f-c63158b9a51e",
"sender": "EOS8A98zLF4X2mGCcrX7f1BtmSuxf6ucb7FNFNLUNiq5jUu5p86Fy",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:37.535"
},
"view": 254,
"block_info": {
"block_id": "00055e83918d2217d426a2665b0012408fe0bfdf300790d332e9d8bf64012fec"
},
"sender_signature": "SIG_K1_KABgCn2Wppdt3p5KDs5xGCNmcAexHt3CNVjpRFDP69PQoqefkRXwjGmweVwTtZY7fm5k1sobzfbTd6YBceMXhaMjxaxFzq"
},
{
"common": {
"type": "prepare",
"uuid": "62c8eccf-3149-4f95-80ae-913054892742",
"sender": "EOS6vboxEGBf43r6P7UjrTvE3sTt49ZsVz3ULPV6QUmfkTjuJ6EHa",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:33.739"
},
"view": 254,
"block_info": {
"block_id": "00055e844e4ba0b4a7d02b5d7070f754f7684cdcb5706f267f3f624c96945ab7"
},
"sender_signature": "SIG_K1_K7jKmBifArCDbmLFmeeRLvqWtjBMmJakjR46CGconGcgs7gQSbhBkbFoS9FvJJb5Gwhqudkq6JAyYmZ3YRmsZiemyBTjGN"
},
{
"common": {
"type": "prepare",
"uuid": "19d0781a-584a-4aee-aa31-279be2ecedee",
"sender": "EOS5QZyPh8kfs5Ar3R2vzJ9QjDrH1x8o6X1CsR6vyANDkVFdmzjbj",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:35.391"
},
"view": 254,
"block_info": {
"block_id": "00055e844e4ba0b4a7d02b5d7070f754f7684cdcb5706f267f3f624c96945ab7"
},
"sender_signature": "SIG_K1_K9GTdZiFgKCbJKJJW4dKbPEo4wtgs1fXsg2HGeyvhWGXiFX7ji2TEcT4MSkhMAEcDZfeQ2cFbJxutEXqJmZe1JdzBxhm4a"
},
{
"common": {
"type": "prepare",
"uuid": "5b97d59e-a40a-4720-a083-710e84e0a7a4",
"sender": "EOS6fYF2DBV3qe6Px3bt8wavRufEvfepTDKZZSizcfXksiDAR4xvv",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:36.016"
},
"view": 254,
"block_info": {
"block_id": "00055e844e4ba0b4a7d02b5d7070f754f7684cdcb5706f267f3f624c96945ab7"
},
"sender_signature": "SIG_K1_K4b2paHFqg7oKsBV1LQ7qAzU2PoweHEChERxCsuZn7sd1oN6jFLJ7uXLXPUwzVx2KkxvMGVyuv35UYHqmgdutJ2hgdXSti"
},
{
"common": {
"type": "prepare",
"uuid": "b6210fa6-40bb-4a48-83f7-629b9953ac93",
"sender": "EOS7BbmLoTdmuUkht7VrFBJTLac1i9ChLWsMZDNo4q3qiJw7crtVc",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:37.337"
},
"view": 254,
"block_info": {
"block_id": "00055e897fd58a1d1292bd8ecdd8b1e5dda506f163b49a2c9dc65a75d53929cb"
},
"sender_signature": "SIG_K1_Ka9TgYgM1LgJXB2cWnAHnhYBQsBPJZBUTNgZtw9PsYHpmJm1djMhPfoq1WzvLkKCkrVhA2Ew4GovMHKK1Kvq2SkaRduMf7"
},
{
"common": {
"type": "prepare",
"uuid": "dee62102-71ee-44fd-8caf-35a32412e152",
"sender": "EOS5dUiLcsqMzSoZinnHhtqi1kk9YmEZCnyRmDWN68qbXMMXrCMvP",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:35.355"
},
"view": 254,
"block_info": {
"block_id": "00055e8a2603f26d5504d12ecf842daf82d0dfd6579cbb282594411aebd0a50c"
},
"sender_signature": "SIG_K1_KBZQ6A25gzzxK2XLLRgXzFCRzqnL9af7RTURW4Wf4Cc1YAuLKmNosTQnh6MN4tbLUDAexP6sV3gQiHHh3WZkxQAdvtVMbj"
},
{
"common": {
"type": "prepare",
"uuid": "2f25b085-6819-4ad8-abae-b44e0bb024a9",
"sender": "EOS6U1Kj9VNJvxJeKr3t1dmawAFTkcsaPBL8wkKr9akXLX4wqU1jV",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:35.705"
},
"view": 254,
"block_info": {
"block_id": "00055e8b0e2fbb2cdadfea14fd31dfa101d7991405da43b50013f475856d5c98"
},
"sender_signature": "SIG_K1_JwwXcsC6BiYa7zWRGDLtjeTMirKoxpMd9pHdJiTe5JpLZPKhXvzb8fqXsgWrVNfaGJGrwJvCkuWmHGz5z87pWKSeKeDboc"
},
{
"common": {
"type": "prepare",
"uuid": "7000dda4-1b77-4748-9f34-77a87d7a41e6",
"sender": "EOS4vRTZ9ZMQ32YbfopkJzxRRLW9i3FRGvyFE5CvWf5gcokXtp61e",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:36.300"
},
"view": 254,
"block_info": {
"block_id": "00055e8b0e2fbb2cdadfea14fd31dfa101d7991405da43b50013f475856d5c98"
},
"sender_signature": "SIG_K1_K4AUMKyrdJNSnx9Mj94VykYUqKQHeb3o9NPBHW2McvT3rCVUfAf6ScDcfouGW3dnRnrNw7n8wexwbeTDTu95CNu2ySy2JP"
},
{
"common": {
"type": "prepare",
"uuid": "80e8b183-8c86-42d1-80c5-0b6584805542",
"sender": "EOS5TnNcuyzYSaMtVCfK961HuTAtERH4J467KvZm7CSiwbEPcvyta",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:37.277"
},
"view": 254,
"block_info": {
"block_id": "00055e8ca09a2c4867e6e92c6ec7a7a78783ec6f63e926b57815e2d2f793b2e1"
},
"sender_signature": "SIG_K1_Kf52bEFXabgfLuhk3BH3uC8vi7bW5bmU9rY5hwvVkzRjpT4Kr6kBgcmAJ1mSvPMajQzU4am5GUXimon2aU3yrwj4B9KnWA"
},
{
"common": {
"type": "prepare",
"uuid": "6954101a-be11-4b74-af48-3f8b060588d8",
"sender": "EOS82bUcqrCGCHZXJ2h6cPvoarYTfWt6hDzNW8dg8iXR2t7ytNsK7",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:36.599"
},
"view": 254,
"block_info": {
"block_id": "00055e8ca09a2c4867e6e92c6ec7a7a78783ec6f63e926b57815e2d2f793b2e1"
},
"sender_signature": "SIG_K1_K2rAFq16r9pFfVJGXxqVnXu1fs68NAKTUGLLBWcAnf2K25m1k2VrRqi9K5ttd6F3unzaEc8dPnhDgyubAnwes7eRGBtmKH"
},
{
"common": {
"type": "prepare",
"uuid": "56e12037-f766-45d8-98c6-88feabbdf59b",
"sender": "EOS6S2fmuFfkH7HyTc1e3nBtDo8QaJq4onYvJGcNgiA3xfGBGWwRn",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:36.030"
},
"view": 254,
"block_info": {
"block_id": "00055e8ca09a2c4867e6e92c6ec7a7a78783ec6f63e926b57815e2d2f793b2e1"
},
"sender_signature": "SIG_K1_JyLEHJwhagHxFhmhRFwcoNixRmRDK3UncqCWVsjm4CTTHdFvHdSy5mwfR2fShoro3UZYU2pkj4rMCKdSSkyyg85iuDU8yw"
},
{
"common": {
"type": "prepare",
"uuid": "f3ad4dc0-4785-4749-a677-62ece2d173b9",
"sender": "EOS5RS7zr2um4z8cChehvg4nAjoEzLh7FpqbJN7fx4iwCJLJ8WZ8a",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:40.218"
},
"view": 254,
"block_info": {
"block_id": "00055e8ca09a2c4867e6e92c6ec7a7a78783ec6f63e926b57815e2d2f793b2e1"
},
"sender_signature": "SIG_K1_KY4AGgF6gYVC1YSwTc4HCvA4VBQaR2jn5Mys7Kk8jPGrxFe2oUuxh31K11dUxSvdFZBT281BcypJG8aaoQMnE7Zufi4EYL"
},
{
"common": {
"type": "prepare",
"uuid": "3ccc749f-5f82-4bde-abec-10916116b2ab",
"sender": "EOS6eMGpgRJ3HRHctRuJFs564RsQ4GhohUBE7qA98rBY88bRsjQM1",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:46.462"
},
"view": 254,
"block_info": {
"block_id": "00055e8d1460ff28457d1c5fbfd903759451cd4fe7f92c457249c321c32ab91d"
},
"sender_signature": "SIG_K1_Kkf9hD7gBnpLUnAuW7iddD1gz6LTRmmxDfqduwJkRmBj4Bu69BYuPVM5psg6U23g4vCSuGThssNuXsYESPdGEs9ec5ty5U"
},
{
"common": {
"type": "prepare",
"uuid": "f4180aa1-6ada-400a-b7e1-ba4fe7a6c95f",
"sender": "EOS8PdC1MGvTwaGBDAWhBF4GNAAk8AaRA9o2RJ6zy5TWHYxLhcWGn",
"chain_id": "02ce5aa2a05e594cc3c041fc8989cf8ff4fd6efe828a23d7b3825d51b70fa2ed",
"timestamp": "2019-06-16T12:59:44.006"
},
"view": 254,
"block_info": {
"block_id": "00055e9383803c6b4fe32b93e59cea11c54e63b7a3641aa7bc0d5a06942d2567"
},
"sender_signature": "SIG_K1_JwGwbFk2auaJD5TgAnJb6bCPsqoiHkToQ7n629vcK1yyBaQr7bhtYD1iwXANV9eTJjBxc9nJLgfYRS92yExnNJTSC1HJkk"
}
]
}

Tried:
try to check the signature for the certificates. They are all signed correctly by the validator set at that schedule.

用系统升级前的快照启动,lib和lscb不前进

场景:
节点从2.0.3版本启动,运行一段时间后,升级一半节点;升级系统合约,设置快高度升级,升级高度8200;
在升级的过程中,打了一个快照,当整个升级过程完成后,用快照启动节点,这时lib和lscb不前进,停留在

2019-06-01T06:36:09.536006665Z info  2019-06-01T06:36:09.535 thread-0  producer_plugin.cpp:353       on_incoming_block    ] Received block 5655c0be24d002e3... #24028 @ 2019-06-01T06:35:55.500 signed by bpq [trxs: 0, lib: 8206, lscb: 358244, latency: 14035 ms]

节点能够正常同步,集群的head和lib也正常前进;

如果用genesis.json重新同步,没有发现这个问题

new view可以达成共识, 不断收发prepare msg不能达成共识, lib不前进

测试版本: eosiosg/dpos-pbft:bos-bridge-v0.6.8
git commit version: 303c12d
环境描述: 集群2

启动操作步骤:
a. 用测试版本启动, 持续加压 200TPS, 1s投票一次
b. 合约升级. lib达到target block number = 650
c. 持续加压200TPS. 1s投票一次, 延迟最高到10s.
c. shutdown efg node. 此时lib不前进. lib_num = 3972, lscb = 3936
d. 停止压力. 停止投票. 等待30min, lib依然不走

现象描述:

  1. 停掉压力之后bp node latency降低到50ms左右
  2. 重启node efg, 所有bp出块正常.
  3. 各个bp的current_view 和 target_view都是在增长. 保持在 target_view - current_view = 1
  4. 各个bp持续接收prepare 消息, 没有收到commit消息.
  5. log显示 一直在block_num = 3974 接收prepare信息.

已经做过的尝试:
将lscb那个时间的点的 bp schedule 投票上去. lib依然不前进.
在 3936块pending bp schedule 和 active bp schedule 分别是:
其中 schedule bp <jkqvy> 在version 19 -> version 20的变化中退出. bp <ef> offline.

“pending_schedule”: {
“version”: 20,
“producers”: [{
“producer_name”: “bpa”,
“block_signing_key”: “EOS7BbmLoTdmuUkht7VrFBJTLac1i9ChLWsMZDNo4q3qiJw7crtVc”
},{
“producer_name”: “bpb”,
“block_signing_key”: “EOS5dUiLcsqMzSoZinnHhtqi1kk9YmEZCnyRmDWN68qbXMMXrCMvP”
},{
“producer_name”: “bpc”,
“block_signing_key”: “EOS6eMGpgRJ3HRHctRuJFs564RsQ4GhohUBE7qA98rBY88bRsjQM1”
},{
“producer_name”: “bpd”,
“block_signing_key”: “EOS7E1K17MFd31xF7EeNXVSvEuHihmvUC54HfK7YkHTydSCKa1Ddt”
},{
“producer_name”: “bpe”,
“block_signing_key”: “EOS5aXTHWuh5mZFiWwSZGV8D4WWZMZR8TTjXeBfToWBbMT7QMwRgM”
},{
“producer_name”: “bpf”,
“block_signing_key”: “EOS6F5vU6nFwFsThUPU285Yw4PXpzxJFXrA3P2i4kmP8Z1Yu6d6M4”
},{
“producer_name”: “bpi”,
“block_signing_key”: “EOS6U1Kj9VNJvxJeKr3t1dmawAFTkcsaPBL8wkKr9akXLX4wqU1jV”
},{
“producer_name”: “bpj”,
“block_signing_key”: “EOS6vboxEGBf43r6P7UjrTvE3sTt49ZsVz3ULPV6QUmfkTjuJ6EHa”
},{
“producer_name”: “bpk”,
“block_signing_key”: “EOS6fYF2DBV3qe6Px3bt8wavRufEvfepTDKZZSizcfXksiDAR4xvv”
},{
“producer_name”: “bpl”,
“block_signing_key”: “EOS8VRfSoyS1frV3CBPeobJ1cvMCYGY3cwx1YiqPYydXDWgmyNXrE”
},{
“producer_name”: “bpo”,
“block_signing_key”: “EOS8A98zLF4X2mGCcrX7f1BtmSuxf6ucb7FNFNLUNiq5jUu5p86Fy”
},{
“producer_name”: “bpp”,
“block_signing_key”: “EOS5RS7zr2um4z8cChehvg4nAjoEzLh7FpqbJN7fx4iwCJLJ8WZ8a”
},{
“producer_name”: “bpq”,
“block_signing_key”: “EOS5TnNcuyzYSaMtVCfK961HuTAtERH4J467KvZm7CSiwbEPcvyta”
},{
“producer_name”: “bpr”,
“block_signing_key”: “EOS6S2fmuFfkH7HyTc1e3nBtDo8QaJq4onYvJGcNgiA3xfGBGWwRn”
},{
“producer_name”: “bps”,
“block_signing_key”: “EOS8Na7TRhhkWRaDEbyQdAx5mtPWTrTnbQE2849NtGyWYUCCa2iAJ”
},{
“producer_name”: “bpt”,
“block_signing_key”: “EOS5BTMBpKb4pqUSLmH41nLE8s9m6MEd4VJct2NHUnKAyKafbSWkp”
},{
“producer_name”: “bpv”,
“block_signing_key”: “EOS5kBwkKxvUYpCnwdQMVPkVKxQj9Ekog541YfybeYHKeqcMXsQvo”
},{
“producer_name”: “bpw”,
“block_signing_key”: “EOS5QZyPh8kfs5Ar3R2vzJ9QjDrH1x8o6X1CsR6vyANDkVFdmzjbj”
},{
“producer_name”: “bpx”,
“block_signing_key”: “EOS4vRTZ9ZMQ32YbfopkJzxRRLW9i3FRGvyFE5CvWf5gcokXtp61e”
},{
“producer_name”: “bpy”,
“block_signing_key”: “EOS82bXWznxM5wLzemsqycGF9Czqco6X5vtiUqNq7nzGAbWgnfXHZ”
},{
“producer_name”: “bpz”,
“block_signing_key”: “EOS8PdC1MGvTwaGBDAWhBF4GNAAk8AaRA9o2RJ6zy5TWHYxLhcWGn”
}
]
},
“active_schedule”: {
“version”: 19,
“producers”: [{
“producer_name”: “bpa”,
“block_signing_key”: “EOS7BbmLoTdmuUkht7VrFBJTLac1i9ChLWsMZDNo4q3qiJw7crtVc”
},{
“producer_name”: “bpb”,
“block_signing_key”: “EOS5dUiLcsqMzSoZinnHhtqi1kk9YmEZCnyRmDWN68qbXMMXrCMvP”
},{
“producer_name”: “bpc”,
“block_signing_key”: “EOS6eMGpgRJ3HRHctRuJFs564RsQ4GhohUBE7qA98rBY88bRsjQM1"
},{
“producer_name”: “bpd”,
“block_signing_key”: “EOS7E1K17MFd31xF7EeNXVSvEuHihmvUC54HfK7YkHTydSCKa1Ddt”
},{
“producer_name”: “bpe”,
“block_signing_key”: “EOS5aXTHWuh5mZFiWwSZGV8D4WWZMZR8TTjXeBfToWBbMT7QMwRgM”
},{
“producer_name”: “bpf”,
“block_signing_key”: “EOS6F5vU6nFwFsThUPU285Yw4PXpzxJFXrA3P2i4kmP8Z1Yu6d6M4"
},{
“producer_name”: “bpg”,
“block_signing_key”: “EOS59VzXAtqT61rBeG5X967XH6chv96i7EWCdWPtT3ZUNBMPvaUa8"
},{
“producer_name”: “bph”,
“block_signing_key”: “EOS6NGoJuxZ1nhYczfR5V68tSFpVf3nQmvHJBdDFTUm75mWQ6bcRp”
},{
“producer_name”: “bpi”,
“block_signing_key”: “EOS6U1Kj9VNJvxJeKr3t1dmawAFTkcsaPBL8wkKr9akXLX4wqU1jV”
},{
“producer_name”: “bpl”,
“block_signing_key”: “EOS8VRfSoyS1frV3CBPeobJ1cvMCYGY3cwx1YiqPYydXDWgmyNXrE”
},{
“producer_name”: “bpm”,
“block_signing_key”: “EOS82bUcqrCGCHZXJ2h6cPvoarYTfWt6hDzNW8dg8iXR2t7ytNsK7"
},{
“producer_name”: “bpn”,
“block_signing_key”: “EOS8mtf18vDppwW17LWi3gkJyvT8R6BkiW4YKysQFNjg1z1qyoKPH”
},{
“producer_name”: “bpo”,
“block_signing_key”: “EOS8A98zLF4X2mGCcrX7f1BtmSuxf6ucb7FNFNLUNiq5jUu5p86Fy”
},{
“producer_name”: “bpp”,
“block_signing_key”: “EOS5RS7zr2um4z8cChehvg4nAjoEzLh7FpqbJN7fx4iwCJLJ8WZ8a”
},{
“producer_name”: “bpr”,
“block_signing_key”: “EOS6S2fmuFfkH7HyTc1e3nBtDo8QaJq4onYvJGcNgiA3xfGBGWwRn”
},{
“producer_name”: “bps”,
“block_signing_key”: “EOS8Na7TRhhkWRaDEbyQdAx5mtPWTrTnbQE2849NtGyWYUCCa2iAJ”
},{
“producer_name”: “bpt”,
“block_signing_key”: “EOS5BTMBpKb4pqUSLmH41nLE8s9m6MEd4VJct2NHUnKAyKafbSWkp”
},{
“producer_name”: “bpu”,
“block_signing_key”: “EOS8fa1zFZXourRwd1qVAVcUKPKLvzhtnYDaCQiNs7EDh2Zdi7j2u”
},{
“producer_name”: “bpw”,
“block_signing_key”: “EOS5QZyPh8kfs5Ar3R2vzJ9QjDrH1x8o6X1CsR6vyANDkVFdmzjbj”
},{
“producer_name”: “bpy”,
“block_signing_key”: “EOS82bXWznxM5wLzemsqycGF9Czqco6X5vtiUqNq7nzGAbWgnfXHZ”
},{
“producer_name”: “bpz”,
“block_signing_key”: “EOS8PdC1MGvTwaGBDAWhBF4GNAAk8AaRA9o2RJ6zy5TWHYxLhcWGn”
}
]
},

在高度3937, active producers变成了

"active_schedule": {
"version": 20,
"producers": [{
"producer_name": "bpa",
"block_signing_key": "EOS7BbmLoTdmuUkht7VrFBJTLac1i9ChLWsMZDNo4q3qiJw7crtVc"
},{
"producer_name": "bpb",
"block_signing_key": "EOS5dUiLcsqMzSoZinnHhtqi1kk9YmEZCnyRmDWN68qbXMMXrCMvP"
},{
"producer_name": "bpc",
"block_signing_key": "EOS6eMGpgRJ3HRHctRuJFs564RsQ4GhohUBE7qA98rBY88bRsjQM1"
},{
"producer_name": "bpd",
"block_signing_key": "EOS7E1K17MFd31xF7EeNXVSvEuHihmvUC54HfK7YkHTydSCKa1Ddt"
},{
"producer_name": "bpe",
"block_signing_key": "EOS5aXTHWuh5mZFiWwSZGV8D4WWZMZR8TTjXeBfToWBbMT7QMwRgM"
},{
"producer_name": "bpf",
"block_signing_key": "EOS6F5vU6nFwFsThUPU285Yw4PXpzxJFXrA3P2i4kmP8Z1Yu6d6M4"
},{
"producer_name": "bpi",
"block_signing_key": "EOS6U1Kj9VNJvxJeKr3t1dmawAFTkcsaPBL8wkKr9akXLX4wqU1jV"
},{
"producer_name": "bpj",
"block_signing_key": "EOS6vboxEGBf43r6P7UjrTvE3sTt49ZsVz3ULPV6QUmfkTjuJ6EHa"
},{
"producer_name": "bpk",
"block_signing_key": "EOS6fYF2DBV3qe6Px3bt8wavRufEvfepTDKZZSizcfXksiDAR4xvv"
},{
"producer_name": "bpl",
"block_signing_key": "EOS8VRfSoyS1frV3CBPeobJ1cvMCYGY3cwx1YiqPYydXDWgmyNXrE"
},{
"producer_name": "bpo",
"block_signing_key": "EOS8A98zLF4X2mGCcrX7f1BtmSuxf6ucb7FNFNLUNiq5jUu5p86Fy"
},{
"producer_name": "bpp",
"block_signing_key": "EOS5RS7zr2um4z8cChehvg4nAjoEzLh7FpqbJN7fx4iwCJLJ8WZ8a"
},{
"producer_name": "bpq",
"block_signing_key": "EOS5TnNcuyzYSaMtVCfK961HuTAtERH4J467KvZm7CSiwbEPcvyta"
},{
"producer_name": "bpr",
"block_signing_key": "EOS6S2fmuFfkH7HyTc1e3nBtDo8QaJq4onYvJGcNgiA3xfGBGWwRn"
},{
"producer_name": "bps",
"block_signing_key": "EOS8Na7TRhhkWRaDEbyQdAx5mtPWTrTnbQE2849NtGyWYUCCa2iAJ"
},{
"producer_name": "bpt",
"block_signing_key": "EOS5BTMBpKb4pqUSLmH41nLE8s9m6MEd4VJct2NHUnKAyKafbSWkp"
},{
"producer_name": "bpv",
"block_signing_key": "EOS5kBwkKxvUYpCnwdQMVPkVKxQj9Ekog541YfybeYHKeqcMXsQvo"
},{
"producer_name": "bpw",
"block_signing_key": "EOS5QZyPh8kfs5Ar3R2vzJ9QjDrH1x8o6X1CsR6vyANDkVFdmzjbj"
},{
"producer_name": "bpx",
"block_signing_key": "EOS4vRTZ9ZMQ32YbfopkJzxRRLW9i3FRGvyFE5CvWf5gcokXtp61e"
},{
"producer_name": "bpy",
"block_signing_key": "EOS82bXWznxM5wLzemsqycGF9Czqco6X5vtiUqNq7nzGAbWgnfXHZ"
},{
"producer_name": "bpz",
"block_signing_key": "EOS8PdC1MGvTwaGBDAWhBF4GNAAk8AaRA9o2RJ6zy5TWHYxLhcWGn"
}
]
}

设置好快高度后,升级剩余的bp节点,报错

版本:eosiosg/dpos-pbft/bos-v0.9.9.2-Release
场景:先用2.0.3版本启动,部分节点升级新的版本,当head到达#1666时升级合约 并且设置3000升级,当剩余的节点没有升级的时候,组成新的网络出块,这时候升级剩余的节点到eosiosg/dpos-pbft/bos-v0.9.9.2-Release,提示如下错误。期间没有加压
节点重启的时候,快高度为EOSIO#1741 lib:EOSIO#1330
但是同样情况节点bcd停留在EOSIO#1680 lib:EOSIO#1330 bc重启成功,但是d不成功。
image

集群2 lib_testnet lib不走, new_view没有apply

  1. 测试版本: eosiosg/dpos-pbft:bos-bridge-v0.6.8

  2. 环境描述: 7 bp a~g 在一台机器上. 没有配置在集群2中. 其余bp配置在集群2中.

  3. 启动操作步骤:
    a. 用测试版本启动, 持续加压, 投票
    b. 合约升级. lib达到target block number = 20500
    c. 持续加压. a~g节点crash. 出错. free(): corrupted unsorted chunks, 此时投票加压继续. lib不提升.
    d. 加上coredump抓取配置. 重启a~g节点. lib没有提升. bp a~g在发view change {cv:0, tv: 6}, 同时收到其他bp发来的view change {cv: 6, tv: 9}. view change并不同步
    e. 运行一段时间之后. lib依然不走. bp a~g发的view change currenct_view 和 target_view相同. 接收到其他节点的view change信息不同. 具体参照log

  4. 已经做过的努力:
    a. 把所有bp的current_view通过set_pbft_current_view接口设置成100.

      curl --request POST   --url http://127.0.0.1:8888/v1/pbft/set_pbft_current_view   --header 'accept: application/json'   --data 100
    

    b. bp a~g的current_view有增加. 检查到bp a~g有发new view并且apply.

      可能1:  其他的bp没有接收到new view 
    
      1. 由于pbft消息过期导致, 查看到bp 的latency很高
    
      可能2: 其他的bp接收到了new view 
    
      1. new_view有发出去给其他的bp. new_view的msg size比较大. 可能会出现truncate message的情况, 在其他bp message deserialize的时候, 导致msg 解析失败. 
      2. bp a~g计算出的new view消息不正确. 没有通过其他bp的验证. 其他bp拒绝apply new view.
      3. apply 时发生pbft_exception. (不过并没有在其他bp log中发现这个exception)
    

log:

info 2019-05-24T01:48:39.113 thread-0 net_plugin.cpp:2996 pbft_outgoing_view_c ] sent view change {cv: 105, tv: 115} from EOS4v3Te7DAcjWYPuhNgEAxfuJABvHr5YC9ANRVQtB7Zz8yeB6YzC

info 2019-05-24T01:48:39.114 thread-0 net_plugin.cpp:2996 pbft_outgoing_view_c ] sent view change {cv: 105, tv: 115} from EOS5AJf8RyAob36EYhTRmh9bSNCMSTQH8X9dHncEpCvGvEB6YYrkN
info 2019-05-24T01:48:39.115 thread-0 net_plugin.cpp:2996 pbft_outgoing_view_c ] sent view change {cv: 105, tv: 115} from EOS7XuptYkMZ9yJnFC4N5oBXJtuSwPFA51ir1nA6iTev2JuZjKtHK
info 2019-05-24T01:48:39.116 thread-0 net_plugin.cpp:2996 pbft_outgoing_view_c ] sent view change {cv: 105, tv: 115} from EOS7Z3PX2DwUBSTmYU1przha4DLasUqg4P4HQhXjewNYKHbaxQL8K
info 2019-05-24T01:48:39.117 thread-0 net_plugin.cpp:2996 pbft_outgoing_view_c ] sent view change {cv: 105, tv: 115} from EOS7oo8q7qkrFwcYQp9j7YJTqhBnmtpT6cH7v7j4L15o1LFXChHvN
info 2019-05-24T01:48:39.118 thread-0 net_plugin.cpp:2996 pbft_outgoing_view_c ] sent view change {cv: 105, tv: 115} from EOS7zkxSQrvhq8EdggxYvK4UiBhQdYgMfrHyHQApfuM4SQF9tuZYs
info 2019-05-24T01:48:39.119 thread-0 net_plugin.cpp:2996 pbft_outgoing_view_c ] sent view change {cv: 105, tv: 115} from EOS8QCio7Tdiyf5c4QKrZHmL4tV359wX8Sr7Fu6adhYcxtWWjnSWe
info 2019-05-24T01:48:39.122 thread-0 net_plugin.cpp:3086 handle_message ] received view change {cv: 100, tv: 111} from EOS8A98zLF4X2mGCcrX7f1BtmSuxf6ucb7FNFNLUNiq5jUu5p86Fy
warn 2019-05-24T01:48:39.314 thread-0 net_plugin.cpp:879 connection ] accepted network connection
info 2019-05-24T01:48:39.414 thread-0 net_plugin.cpp:3086 handle_message ] received view change {cv: 100, tv: 111} from EOS6S2fmuFfkH7HyTc1e3nBtDo8QaJq4onYvJGcNgiA3xfGBGWwRn
warn 2019-05-24T01:48:39.478 thread-0 net_plugin.cpp:879 connection ] accepted network connection
info 2019-05-24T01:48:39.485 thread-0 net_plugin.cpp:3086 handle_message ] received view change {cv: 100, tv: 111} from EOS8fa1zFZXourRwd1qVAVcUKPKLvzhtnYDaCQiNs7EDh2Zdi7j2u
info 2019-05-24T01:48:39.502 thread-0 producer_plugin.cpp:1615 produce_block ] Produced block 0002255de5e598cd... #140637 @ 2019-05-24T01:48:39.500 signed by bpb [trxs: 0, lib: 23655, lscb: 23601]
warn 2019-05-24T01:48:39.676 thread-0 net_plugin.cpp:879 connection ] accepted network connection
info 2019-05-24T01:48:39.805 thread-0 net_plugin.cpp:3086 handle_message ] received view change {cv: 100, tv: 111} from EOS6vboxEGBf43r6P7UjrTvE3sTt49ZsVz3ULPV6QUmfkTjuJ6EHa
info 2019-05-24T01:48:39.952 thread-0 net_plugin.cpp:3086 handle_message ] received view change {cv: 100, tv: 111} from EOS5BTMBpKb4pqUSLmH41nLE8s9m6MEd4VJct2NHUnKAyKafbSWkp
info 2019-05-24T01:48:40.004 thread-0 producer_plugin.cpp:1615 produce_block ] Produced block 0002255ef3a9b169... #140638 @ 2019-05-24T01:48:40.000 signed by bpb [trxs: 0, lib: 23655, lscb: 23601]
warn 2019-05-24T01:48:40.020 thread-0 net_plugin.cpp:879 connection ] accepted network connection
info 2019-05-24T01:48:40.338 thread-0 net_plugin.cpp:3086 handle_message ] received view change {cv: 104, tv: 114} from EOS8PdC1MGvTwaGBDAWhBF4GNAAk8AaRA9o2RJ6zy5TWHYxLhcWGn
info 2019-05-24T01:48:40.359 thread-0 net_plugin.cpp:3086 handle_message ] received view change {cv: 100, tv: 111} from EOS5kBwkKxvUYpCnwdQMVPkVKxQj9Ekog541YfybeYHKeqcMXsQvo
warn 2019-05-24T01:48:40.432 thread-0 net_plugin.cpp:879 connection ] accepted network connection
info 2019-05-24T01:48:40.503 thread-0 producer_plugin.cpp:1615 produce_block ] Produced block 0002255fcaa0623a... #140639 @ 2019-05-24T01:48:40.500 signed by bpb [trxs: 0, lib: 23655, lscb: 23601]
warn 2019-05-24T01:48:40.919 thread-0 net_plugin.cpp:879 connection ] accepted network connection
info 2019-05-24T01:48:41.003 thread-0 producer_plugin.cpp:1615 produce_block ] Produced block 00022560618f06cb... #140640 @ 2019-05-24T01:48:41.000 signed by bpb [trxs: 0, lib: 23655, lscb: 23601]
info 2019-05-24T01:48:41.502 thread-0 producer_plugin.cpp:1615 produce_block ] Produced block 000225612b2831d8... #140641 @ 2019-05-24T01:48:41.500 signed by bpb [trxs: 0, lib: 23655, lscb: 23601]
info 2019-05-24T01:48:41.591 thread-0 net_plugin.cpp:3086 handle_message ] received view change {cv: 100, tv: 111} from EOS6NGoJuxZ1nhYczfR5V68tSFpVf3nQmvHJBdDFTUm75mWQ6bcRp
info 2019-05-24T01:48:41.860 thread-0 net_plugin.cpp:2648 handle_message ] ["boscore-lib-testnet-nodeos-0:9876 - 7bfbdc5" 47.254.235.211:9876]received time_message
info 2019-05-24T01:48:41.970 thread-0 net_plugin.cpp:3086 handle_message ] received view change {cv: 100, tv: 111} from EOS5RS7zr2um4z8cChehvg4nAjoEzLh7FpqbJN7fx4iwCJLJ8WZ8a
info 2019-05-24T01:48:41.984 thread-0 net_plugin.cpp:3086 handle_message ] received view change {cv: 100, tv: 111} from EOS5TnNcuyzYSaMtVCfK961HuTAtERH4J467KvZm7CSiwbEPcvyta
info 2019-05-24T01:48:42.002 thread-0 producer_plugin.cpp:1615 produce_block ] Produced block 00022562d1386c96... #140642 @ 2019-05-24T01:48:42.000 signed by bpc [trxs: 0, lib: 23655, lscb: 23601]
info 2019-05-24T01:48:42.335 thread-0 net_plugin.cpp:3086 handle_message ] received view change {cv: 100, tv: 111} from EOS6U1Kj9VNJvxJeKr3t1dmawAFTkcsaPBL8wkKr9akXLX4wqU1jV
info 2019-05-24T01:48:42.502 thread-0 producer_plugin.cpp:1615 produce_block ] Produced block 00022563ed905d88... #140643 @ 2019-05-24T01:48:42.500 signed by bpc [trxs: 0, lib: 23655, lscb: 23601]
info 2019-05-24T01:48:42.598 thread-0 net_plugin.cpp:3086 handle_message ] received view change {cv: 100, tv: 111} from EOS8Na7TRhhkWRaDEbyQdAx5mtPWTrTnbQE2849NtGyWYUCCa2iAJ
info 2019-05-24T01:48:43.003 thread-0 producer_plugin.cpp:1615 produce_block ] Produced block 000225649fd40300... #140644 @ 2019-05-24T01:48:43.000 signed by bpc [trxs: 0, lib: 23655, lscb: 23601]
info 2019-05-24T01:48:43.130 thread-0 net_plugin.cpp:2648 handle_message ] ["boscore-lib-testnet-nodeos-0:9876 - 23647d7" 47.89.136.51:9876]received time_message
info 2019-05-24T01:48:43.212 thread-0 net_plugin.cpp:3086 handle_message ] received view change {cv: 102, tv: 113} from EOS4vRTZ9ZMQ32YbfopkJzxRRLW9i3FRGvyFE5CvWf5gcokXtp61e
info 2019-05-24T01:48:43.233 thread-0 net_plugin.cpp:3086 handle_message ] received view change {cv: 100, tv: 111} from EOS5QZyPh8kfs5Ar3R2vzJ9QjDrH1x8o6X1CsR6vyANDkVFdmzjbj
info 2019-05-24T01:48:43.252 thread-0 net_plugin.cpp:3086 handle_message ] received view change {cv: 100, tv: 110} from EOS6fYF2DBV3qe6Px3bt8wavRufEvfepTDKZZSizcfXksiDAR4xvv
info 2019-05-24T01:48:43.259 thread-0 net_plugin.cpp:3086 handle_message ] received view change {cv: 103, tv: 113} from EOS82bXWznxM5wLzemsqycGF9Czqco6X5vtiUqNq7nzGAbWgnfXHZ
info 2019-05-24T01:48:43.502 thread-0 producer_plugin.cpp:1615 produce_block ] Produced block 000225659789f48f... #140645 @ 2019-05-24T01:48:43.500 signed by bpc [trxs: 0, lib: 23655, lscb: 23601]

bp latency逐渐增大. 最后断开peer. 自己出块, 不再接收block

docker version: eosiosg/dpos-pbft:bos-v0.10.7-debug
环境: cluster 2
TPS: 100 trx/sec
现象: bpo, bpc, bpd 陆续出现问题, lscb, lib, current view, target view都不同步. bpc与peer断开. 不断进入view change状态. 其他bp的new view可以达成. 一般情况是一个cluster上的三个bp中两个同时出现此类问题.
尝试: 重启之后 view正常, lib lscb可以同步上来, 可以同步block.

节点第一次启动的时候报错;需要重启;image: eosiosg/dpos-pbft:bos-v0.9.9.2-Release

场景:
节点从2.0.3版本启动,运行一段时间后,升级一半节点;升级系统合约,设置快高度升级;
在升级的过程中,用新的版本升级剩余的节点,发现报如下错误,重启后节点正常。

报错信息:

unknown key (chainbase::oid<eosio::chain::upgrade_property_object>): 0:
2019-06-01T03:27:35.117410137Z     {"what":"unknown key (chainbase::oid<eosio::chain::upgrade_property_object>): 0"}
2019-06-01T03:27:35.117413687Z     thread-0  controller.cpp:1558 apply_block
2019-06-01T03:27:35.117416623Z rethrow2019-06-01T03:27:35.117419521Z     {}
2019-06-01T03:27:35.117422481Z     thread-0  controller.cpp:1605 push_block
2019-06-01T03:27:36.067354160Z info  
2019-06-01T03:27:36.067 thread-0  net_plugin.cpp:1714           verify_catchup       ] got a catch_up notice while in in sync, fork head num = 4323 target LIB = 3943 next_expected = 1
2019-06-01T03:27:36.741107055Z warn  
2019-06-01T03:27:36.740 thread-0  controller.cpp:1605           push_block           ] 13 St9exception: unknown key (chainbase::oid<eosio::chain::upgrade_property_object>): 0
2019-06-01T03:27:36.741142411Z unknown key (chainbase::oid<eosio::chain::upgrade_property_object>): 0:
2019-06-01T03:27:36.741146029Z     {"what":"unknown key (chainbase::oid<eosio::chain::upgrade_property_object>): 0"}2019-06-01T03:27:36.741149035Z     thread-0  controller.cpp:1558 apply_block
2019-06-01T03:27:36.741153139Z error 2019-06-01T03:27:36.741 thread-0  producer_plugin.cpp:328       on_incoming_block    ] 13 St9exception: unknown key (chainbase::oid<eosio::chain::upgrade_property_object>): 0
2019-06-01T03:27:36.741157513Z unknown key (chainbase::oid<eosio::chain::upgrade_property_object>): 0:
2019-06-01T03:27:36.741160810Z     {"what":"unknown key (chainbase::oid<eosio::chain::upgrade_property_object>): 0"}2019-06-01T03:27:36.741165090Z     thread-0  controller.cpp:1558 apply_block
2019-06-01T03:27:36.741167544Z rethrow2019-06-01T03:27:36.741169824Z     {}
2019-06-01T03:27:36.741171971Z     thread-0  controller.cpp:1605 push_block

corrupted double-linked list

相同的bp配置,启动了两个nodeos进程,先启动的那个nodeos 出现“corrupted double-linked list” log crash.

cpu consumption

Keep doing cpu profiling cross comparison over pbft version vs. original.

free() corrupted unsorted chunks

commit version: 303c12d
test env: 7bp in one node, other bps in k8s cluster2.
pressure: 200 TPS
time: serveral minutes

result: 7bp nodeos crash with error log free() corrupted unsorted chunks.

two times coredump:

  1. free_core_dump.log
    docker: frank2018/coredumpfree:v0.0.1
  2. freecoredump.log
    docker: frank2018/coredumpfree:v0.0.2

The first time coredump shows that unapplied_transactions map tries to erase the transaction metadata. Then cause core error.

unapplied_transactions.erase( trx->signed_id );

similar issue: #6

Tips: use the image to attach gdb

     1. gdb /opt/eosio/bin/nodeos /tmp/core. %. nodeos. %
     2. bt  command to check the function stack

reference: https://dev.to/mizutani/how-to-get-core-file-of-segmentation-fault-process-in-docker-22ii

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.