CKB 0.18 Windows版节点数据同步到34826报错并卡住

已经在两台不同的Windows机器上出现,同步到高度34826会报如下错误:

2019-08-14 20:40:03.153 +08:00 ChainService INFO ckb-chain block: 34825, hash: 0xa5f38d6e9cb7e164afd5aeb3ac353fec8a8a7627ccd137474e7d5b34cd633170, total_diff: 0x53b69c7a90, txs: 1
2019-08-14 20:40:03.153 +08:00 ChainService INFO ckb-chain block: 34826, hash: 0xb88b6741dea3b4ea83e3d1423cf66dd83c1ec9907741bdd5ceabd0dd47782859, total_diff: 0x53b8d73074, txs: 1
2019-08-14 20:40:03.169 +08:00 NetworkRuntime-2 ERROR ckb-sync accept block Block { header: Header { hash: 0x2512cdcf8768156f47a312074ce4c07e6d894fc4d252a00976b84b6008bd32a6, version: 0, parent_hash: 0xb88b6741dea3b4ea83e3d1423cf66dd83c1ec9907741bdd5ceabd0dd47782859, timestamp: 1565775819964, number: 34827, transactions_root: 0x4c6b346acc8c12620f904e3653c0fff578c0c3dd83aab4396efccb39f92ce25e, witnesses_root: 0xe3a778b25604d33884f95b85886a841e94e16e442acc5eae3826dcccbf75c5ef, proposals_hash: 0x0000000000000000000000000000000000000000000000000000000000000000, difficulty: 0x23ab5e4, uncles_count: 2, uncles_hash: 0xe358a4eb2f9895cadae5337d5c1646bcd8beb04c57bb7fd245a03a37737c45da, epoch: 31, seal: Seal { nonce: 1685088877469796197, proof: 0xe8090000090d0000591a000057220000f53b0000bd3c00000d470000614a00009d6b000056700000bc770000bc7b0000 } }, uncles: [UncleBlock { header: Header { hash: 0x174ccf44850115f7c6fd49a53a5d2e4e14425b992ca8f39ba0dac1d8d2932201, version: 0, parent_hash: 0x054484862f01e79971532787d00b76fefef6cfe659caed83d248a7788a593ce2, timestamp: 1565773695536, number: 34782, transactions_root: 0x1be2693dbb700da08fe12870b2faf9e88aa439ececc65bc212785de28200579f, witnesses_root: 0xecf7b712409245aa329279bfec3cd7aea1aac35ceda697d168701ab794d1fce6, proposals_hash: 0x0000000000000000000000000000000000000000000000000000000000000000, difficulty: 0x23ab5e4, uncles_count: 2, uncles_hash: 0x0ea5e6849fd1988a5ec9ce5127a5d23382c7071048f2989d460946c62978cc34, epoch: 31, seal: Seal { nonce: 190387883, proof: 0x1f1200003b2a00005f2c0000d42d0000e12e0000673500007b3e0000a73f0000144800007e4c0000d46c0000157b0000 } }, proposals: [] }, UncleBlock { header: Header { hash: 0xa3045a90f07cc182fd635a2c1dd8844172bbecd96a7cdd81027ba78f4e9c176d, version: 0, parent_hash: 0x174ccf44850115f7c6fd49a53a5d2e4e14425b992ca8f39ba0dac1d8d2932201, timestamp: 1565773744623, number: 34783, transactions_root: 0x5a8b3024b2f39e1feb8b353d8b34f3a534ee736f5b7f874f424194b65fe793e8, witnesses_root: 0xb46a97c518558764cb24c839d4aad4a1ba7d03357387d48fb4455af07d0f1e95, proposals_hash: 0x0000000000000000000000000000000000000000000000000000000000000000, difficulty: 0x23ab5e4, uncles_count: 2, uncles_hash: 0x78d679b04e88fd7868abfa50dcf4a7e3f36ec0f30a95951a24ff34d8d04a0dab, epoch: 31, seal: Seal { nonce: 15662755619557154466, proof: 0xa0090000280a0000c30a0000e429000021470000634e00001a56000051560000ca570000695f000031700000a1770000 } }, proposals: [] }], transactions: [Transaction { version: 0, deps: [], inputs: [CellInput { previous_output: OutPoint { cell: None, block_hash: None }, since: 34827 }], outputs: [CellOutput { capacity: Capacity(190387440445), data: 0x, lock: Script { args: [“0x5427c987cd27afb07e59b3d249ab9aa02a7195f9”], code_hash: 0x54811ce986d5c3e57eaafab22cdd080e32209e39590e204a99b32935f835a13c }, type: None }], witnesses: [[b"T\x81\x1c\xe9\x86\xd5\xc3\xe5~\xaa\xfa\xb2,\xdd\x08\x0e2 \x9e9Y\x0e J\x99\xb3)5\xf85\xa1<", b"O\xc4\x19q~-?\x8a\x14\x87.\xcf\xf6X\xca\xf1\x13;\xcf#"]], hash: H256 ( [ 0x75, 0xbf, 0xb7, 0xb6, 0x39, 0xe8, 0xce, 0xa0, 0x64, 0x50, 0xc0, 0xd6, 0x9e, 0x48, 0x31, 0xda, 0x6e, 0x64, 0x4e, 0xc7, 0x81, 0xe4, 0x2f, 0x27, 0x14, 0x61, 0x22, 0x24, 0xa0, 0x74, 0x7b, 0x79 ] ), witness_hash: H256 ( [ 0x9e, 0xf6, 0x94, 0xdf, 0x9d, 0x86, 0x69, 0xc1, 0x43, 0x7e, 0x6e, 0xbb, 0xa1, 0xbd, 0x5b, 0x58, 0x0e, 0x7d, 0xea, 0x01, 0x90, 0xa8, 0xbc, 0xc3, 0xb3, 0x27, 0x73, 0x58, 0x69, 0xa4, 0xcd, 0xc9 ] ) }, Transaction { version: 0, deps: [OutPoint { cell: None, block_hash: Some(27b92b5837953f8880ef5b1efe9f7b324e7ed5ede38c1b678f416ebb0a5c5484) }, OutPoint { cell: Some(CellOutPoint { tx_hash: 0x0c939be8d3ab4d3260fda07730f78c80b964ecaa76dd243279134e26c1ac50e0, index: 2 }), block_hash: None }, OutPoint { cell: Some(CellOutPoint { tx_hash: 0x0c939be8d3ab4d3260fda07730f78c80b964ecaa76dd243279134e26c1ac50e0, index: 1 }), block_hash: None }], inputs: [CellInput { previous_output: OutPoint { cell: Some(CellOutPoint { tx_hash: 0xc3f333d1de23956e3243fa2b46944817c3334e2ec248177584550ec974a2bd27, index: 0 }), block_hash: Some(9c41c5927bfac368353482a779e17be9b44a7c5b06a76e6c9e4e75b1bf78c29b) }, since: 34800 }], outputs: [CellOutput { capacity: Capacity(10000548425), data: 0x, lock: Script { args: [“0x7f52f0fccdd1d11391c441adfb174f87bca612b0”], code_hash: 0x54811ce986d5c3e57eaafab22cdd080e32209e39590e204a99b32935f835a13c }, type: None }], witnesses: [[b"j\xc7\x12\xfcX’\xc3\xe7\x1f\xb9\xfb`m\xfb\xa9C/7\x91wr\xb3\xe9\x1f\xd44\xd4\x87\x12\xc2~\x91\x03\x9b\xef4e\xdaq\x9fn\x04I\xb2\x95n7nj\xda\xa1\x98\xa5\x0ff\xe2sWt(K_b\xe7\x01", b"\0\0\0\0\0\0\0\0"]], hash: H256 ( [ 0xdd, 0xef, 0x5f, 0xe4, 0xcc, 0xf6, 0xda, 0xbb, 0x84, 0xa9, 0x72, 0xb5, 0x4e, 0x02, 0x07, 0xd6, 0xe3, 0x8c, 0xb8, 0xf4, 0x9c, 0x71, 0xe1, 0x04, 0x72, 0x1a, 0x13, 0x34, 0xae, 0xbb, 0xf3, 0x11 ] ), witness_hash: H256 ( [ 0x66, 0x96, 0x4f, 0x34, 0x0b, 0xff, 0x2b, 0xd3, 0x10, 0x93, 0x16, 0x46, 0x7f, 0x7f, 0xcb, 0x41, 0xba, 0x8f, 0xdd, 0x66, 0x03, 0xd3, 0xa2, 0x95, 0x70, 0x65, 0x55, 0xe4, 0xf4, 0xf9, 0x81, 0xc8 ] ) }], proposals: [] } Err(UnresolvableTransaction(InvalidHeader(OutPoint { cell: None, block_hash: Some(27b92b5837953f8880ef5b1efe9f7b324e7ed5ede38c1b678f416ebb0a5c5484) }))
stack backtrace:
0: (0x7ff6963b388e)
1: (0x7ff6963b1b79)
2: (0x7ff6962c988e)
3: (0x7ff6962c93c2)
4: (0x7ff6957a67c5)
5: (0x7ff6957aac68)
6: (0x7ff6957c052b)
7: (0x7ff695671cd2)
8: (0x7ff6963df972)
9: (0x7ff6958c03a8)
10: (0x7ff6963bd217)
11: (0x7ff6963dda97)
12: BaseThreadInitThunk (0x7ffcfa2a7974)
13: RtlUserThreadStart (0x7ffcfadaa271))
2019-08-14 20:40:03.174 +08:00 NetworkRuntime-2 INFO ckb-sync Ban peer SessionId(1) for 300 seconds because send us a invalid block
2019-08-14 20:40:03.174 +08:00 NetworkRuntime-2 INFO ckb-network ban peer PeerId(QmNQ4jky6uVqLDrPU7snqxARuNGWNLgSrTnssbRuy3ij2W) with 300s
2019-08-14 20:40:03.179 +08:00 NetworkRuntime-2 INFO ckb-sync SyncProtocol.disconnected peer=SessionId(1)
2019-08-14 20:40:03.179 +08:00 NetworkRuntime-10 INFO ckb-relay RelayProtocol.disconnected peer=SessionId(1)
2019-08-14 20:41:05.217 +08:00 NetworkRuntime-5 INFO ckb-relay RelayProtocol(1).connected peer=SessionId(11)
2019-08-14 20:41:05.217 +08:00 NetworkRuntime-3 INFO ckb-sync SyncProtocol.connected peer=SessionId(11)

请把 CKB 节点升级到 v0.18.1 版本,已经修复了这个问题

嗯,升级后解决了。不过看到是通过硬编码绕过了这个问题块。
好奇是什么原因导致的?

一个在开发分支已经修复的 bug,但没有 back port 到比赛用的版本。
这个 bug 造成交易可以依赖不在主链的 block, 导致共识分叉,详情可以看 release 说明。

下载一半失败了,服务器拒绝执行用户请求,这个咋整

重下几遍解决了。