missing parent at morden block 173522 #327

Open
psalami opened this Issue Mar 21, 2016 · 4 comments

Projects

None yet

3 participants

@psalami
psalami commented Mar 21, 2016

version: 1.1.0
I'm unable to sync the morden blockchain using pyethereum (via pyethapp) on morden testnet. I can sync up to block 173522 but then subsequent blocks do not get imported. I get the following error message when trying to sync:

INFO:p2p.peermgr        waiting for bootstrap
INFO:p2p.peer   received hello client_version=Geth/v1.4.0-unstable/linux/go1.5.1 version=4 capabilities=(('eth', 63), ('eth', 62), ('eth', 61))
INFO:eth.sync.task      spawning new syntask
WARNING:eth.chainservice        verification failed FIXME=ban node error=('receipts_root', 'h\x13\xf3\xf4T\x913|\xaf3C\xf3\x0c\xfe\xb6\x87\xacI\x14\xf6\xe5\xf3\xc27\x16\xd2V\xe6\xb6\xf4\xc7\x9b', '==', 'm\x01\x96\t\xdc\x00\xb0\xce\x85\xaa\xdd/\xd3\xfe\xb8Q.\x15\xcd\t}D\xde_\xd5b\x02\xack\x02\x0e\xca')
Failed to connect to badblocks.ethdev.com
WARNING:eth.chainservice        missing parent head=<CachedBlock(#173522 6e252728)> block=<TransientBlock(#173524 26b2eb9b)>
WARNING:eth.chainservice        missing parent head=<CachedBlock(#173522 6e252728)> block=<TransientBlock(#173525 8c1de200)>
WARNING:eth.chainservice        missing parent head=<CachedBlock(#173522 6e252728)> block=<TransientBlock(#173526 6a3f32fe)>
[etc]
@heikoheiko
Member

confirmed, we are looking into it.

@psalami
psalami commented Mar 21, 2016

thx! please let me know if I can provide you with any details that can help you debug the issue.

@psalami
psalami commented Mar 26, 2016

Just wanted to check in to see if there are any updates on this or if perhaps there is a workaround? Maybe some bootstrap nodes that would work? Thanks!

@konradkonrad konradkonrad added the bug label Apr 5, 2016
@konradkonrad konradkonrad added a commit that referenced this issue Apr 7, 2016
@konradkonrad konradkonrad Fix json-logging regression
(Properly) json-formatted logging got lost somewhere in the process
of factoring out the `structlog` dependency. This commit (re)enables
json formatted kwargs when logging is configured with `log_json=True`.

related to #327 since the bug investigation is facilitated by machine-
readable vm traces.
a98b360
@konradkonrad konradkonrad added a commit that referenced this issue Apr 12, 2016
@konradkonrad konradkonrad WIP: Use structlog in vm tracing #327
TODO:
- log zero-memory allocation (+gas usage) in the same way as geth
9940345
@konradkonrad konradkonrad added a commit that referenced this issue Apr 12, 2016
@konradkonrad konradkonrad Add geth-traces for BlockchainTests #327
See README.md for how these were created.
52df84b
@konradkonrad konradkonrad added a commit that referenced this issue Apr 14, 2016
@konradkonrad konradkonrad Move trace-relevant methods inside vm function #327
Getting the gasCost right is one of the hardest issues when
aligning with geth. This commit allows now for a shared-context
BoundLogger that allows for accumulated gasCost tracing.
81506c8
@konradkonrad konradkonrad added a commit that referenced this issue Apr 14, 2016
@konradkonrad konradkonrad Discard global code_cache for now
This change is experimental. Caching vm code forever in a single
dictionary can be really expensive. This has no direct connection
to #327 but touches the same loc's.
488f17b
@konradkonrad konradkonrad added a commit that referenced this issue Apr 14, 2016
@konradkonrad konradkonrad Clean up gas-use-logging #327
I added a function for compustate.gas manipulation, that also takes
care of trace-logger manipulation.
aa81147
@konradkonrad konradkonrad added a commit that referenced this issue Apr 14, 2016
@konradkonrad konradkonrad Add trace comparison scripts #327
This adds some tools and documentation (!`README.md) for comparing
vm traces between geth and pyethapp/pyethereum.
f5e51ab
@konradkonrad konradkonrad added a commit that referenced this issue Apr 14, 2016
@konradkonrad konradkonrad WIP: Use structlog in vm tracing #327
TODO:
- log zero-memory allocation (+gas usage) in the same way as geth
01f5740
@konradkonrad konradkonrad added a commit that referenced this issue Apr 14, 2016
@konradkonrad konradkonrad Add geth-traces for BlockchainTests #327
See README.md for how these were created.
d0cd3d5
@konradkonrad konradkonrad added a commit that referenced this issue Apr 14, 2016
@konradkonrad konradkonrad Move trace-relevant methods inside vm function #327
Getting the gasCost right is one of the hardest issues when
aligning with geth. This commit allows now for a shared-context
BoundLogger that allows for accumulated gasCost tracing.
38b0f08
@konradkonrad konradkonrad added a commit that referenced this issue Apr 14, 2016
@konradkonrad konradkonrad Discard global code_cache for now
This change is experimental. Caching vm code forever in a single
dictionary can be really expensive. This has no direct connection
to #327 but touches the same loc's.
62b72bf
@konradkonrad konradkonrad added a commit that referenced this issue Apr 14, 2016
@konradkonrad konradkonrad Clean up gas-use-logging #327
I added a function for compustate.gas manipulation, that also takes
care of trace-logger manipulation.
5ab7008
@konradkonrad konradkonrad added a commit that referenced this issue Apr 14, 2016
@konradkonrad konradkonrad Add trace comparison scripts #327
This adds some tools and documentation (!`README.md) for comparing
vm traces between geth and pyethapp/pyethereum.
8b1eca5
@konradkonrad konradkonrad added a commit that referenced this issue Apr 14, 2016
@konradkonrad konradkonrad Nicer trace model #327
This switches to a cleaner trace-logging model: only `bind()` during
`try`ed loop execution and then `finally:` `trace()` and reset the
BoundLogger.
c273003
@konradkonrad konradkonrad added a commit that referenced this issue Apr 29, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad WIP: Use structlog in vm tracing #327
TODO:
- log zero-memory allocation (+gas usage) in the same way as geth
bdb0f4b
@konradkonrad konradkonrad added a commit that referenced this issue Apr 29, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad Add geth-traces for BlockchainTests #327
See README.md for how these were created.
48a26c0
@konradkonrad konradkonrad added a commit that referenced this issue Apr 29, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad Move trace-relevant methods inside vm function #327
Getting the gasCost right is one of the hardest issues when
aligning with geth. This commit allows now for a shared-context
BoundLogger that allows for accumulated gasCost tracing.
e38084d
@konradkonrad konradkonrad added a commit that referenced this issue Apr 29, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad Discard global code_cache for now
This change is experimental. Caching vm code forever in a single
dictionary can be really expensive. This has no direct connection
to #327 but touches the same loc's.
72e3223
@konradkonrad konradkonrad added a commit that referenced this issue Apr 29, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad Clean up gas-use-logging #327
I added a function for compustate.gas manipulation, that also takes
care of trace-logger manipulation.
459d945
@konradkonrad konradkonrad added a commit that referenced this issue Apr 29, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad Add trace comparison scripts #327
This adds some tools and documentation (!`README.md) for comparing
vm traces between geth and pyethapp/pyethereum.
d49704e
@konradkonrad konradkonrad added a commit that referenced this issue Apr 29, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad Nicer trace model #327
This switches to a cleaner trace-logging model: only `bind()` during
`try`ed loop execution and then `finally:` `trace()` and reset the
BoundLogger.
52ba256
@konradkonrad konradkonrad added a commit that referenced this issue Apr 29, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad WIP: Use structlog in vm tracing #327
TODO:
- log zero-memory allocation (+gas usage) in the same way as geth
d86469a
@konradkonrad konradkonrad added a commit that referenced this issue Apr 29, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad Add geth-traces for BlockchainTests #327
See README.md for how these were created.
67843b9
@konradkonrad konradkonrad added a commit that referenced this issue Apr 29, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad Move trace-relevant methods inside vm function #327
Getting the gasCost right is one of the hardest issues when
aligning with geth. This commit allows now for a shared-context
BoundLogger that allows for accumulated gasCost tracing.
e6c8c89
@konradkonrad konradkonrad added a commit that referenced this issue Apr 29, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad Discard global code_cache for now
This change is experimental. Caching vm code forever in a single
dictionary can be really expensive. This has no direct connection
to #327 but touches the same loc's.
3713a16
@konradkonrad konradkonrad added a commit that referenced this issue Apr 29, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad Clean up gas-use-logging #327
I added a function for compustate.gas manipulation, that also takes
care of trace-logger manipulation.
bc10877
@konradkonrad konradkonrad added a commit that referenced this issue Apr 29, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad Add trace comparison scripts #327
This adds some tools and documentation (!`README.md) for comparing
vm traces between geth and pyethapp/pyethereum.
b3163e8
@konradkonrad konradkonrad added a commit that referenced this issue Apr 29, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad Nicer trace model #327
This switches to a cleaner trace-logging model: only `bind()` during
`try`ed loop execution and then `finally:` `trace()` and reset the
BoundLogger.
b53509e
@konradkonrad konradkonrad added a commit that referenced this issue Apr 29, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad WIP: Use structlog in vm tracing #327
TODO:
- log zero-memory allocation (+gas usage) in the same way as geth
baa0867
@konradkonrad konradkonrad added a commit that referenced this issue Apr 29, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad Add geth-traces for BlockchainTests #327
See README.md for how these were created.
d12159b
@konradkonrad konradkonrad added a commit that referenced this issue Apr 29, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad Move trace-relevant methods inside vm function #327
Getting the gasCost right is one of the hardest issues when
aligning with geth. This commit allows now for a shared-context
BoundLogger that allows for accumulated gasCost tracing.
2d487d9
@konradkonrad konradkonrad added a commit that referenced this issue Apr 29, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad Discard global code_cache for now
This change is experimental. Caching vm code forever in a single
dictionary can be really expensive. This has no direct connection
to #327 but touches the same loc's.
4c93672
@konradkonrad konradkonrad added a commit that referenced this issue Apr 29, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad Clean up gas-use-logging #327
I added a function for compustate.gas manipulation, that also takes
care of trace-logger manipulation.
68a2082
@konradkonrad konradkonrad added a commit that referenced this issue Apr 29, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad Add trace comparison scripts #327
This adds some tools and documentation (!`README.md) for comparing
vm traces between geth and pyethapp/pyethereum.
7e5a1a1
@konradkonrad konradkonrad added a commit that referenced this issue Apr 29, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad Nicer trace model #327
This switches to a cleaner trace-logging model: only `bind()` during
`try`ed loop execution and then `finally:` `trace()` and reset the
BoundLogger.
a5572ab
@konradkonrad konradkonrad added a commit that referenced this issue May 3, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad WIP: Use structlog in vm tracing #327
TODO:
- log zero-memory allocation (+gas usage) in the same way as geth
358da22
@konradkonrad konradkonrad added a commit that referenced this issue May 3, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad Add geth-traces for BlockchainTests #327
See README.md for how these were created.
6285763
@konradkonrad konradkonrad added a commit that referenced this issue May 3, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad Move trace-relevant methods inside vm function #327
Getting the gasCost right is one of the hardest issues when
aligning with geth. This commit allows now for a shared-context
BoundLogger that allows for accumulated gasCost tracing.
93091b3
@konradkonrad konradkonrad added a commit that referenced this issue May 3, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad Discard global code_cache for now
This change is experimental. Caching vm code forever in a single
dictionary can be really expensive. This has no direct connection
to #327 but touches the same loc's.
9bdc3c2
@konradkonrad konradkonrad added a commit that referenced this issue May 3, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad Clean up gas-use-logging #327
I added a function for compustate.gas manipulation, that also takes
care of trace-logger manipulation.
5f0178d
@konradkonrad konradkonrad added a commit that referenced this issue May 3, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad Add trace comparison scripts #327
This adds some tools and documentation (!`README.md) for comparing
vm traces between geth and pyethapp/pyethereum.
f0ef7b9
@konradkonrad konradkonrad added a commit that referenced this issue May 3, 2016
@konradkonrad @konradkonrad konradkonrad + konradkonrad Nicer trace model #327
This switches to a cleaner trace-logging model: only `bind()` during
`try`ed loop execution and then `finally:` `trace()` and reset the
BoundLogger.
0b2102a
@konradkonrad
Contributor
konradkonrad commented May 3, 2016 edited

I know this much by now:

  1. this contract creation produces a different medstate/post state in python:

    • 8cd84723a408b7e150d1b4edfc9f4545c9f0ef2d3af9a0a0e39c1670e8350517, should be
    • b6328c75236c0145c76a03fe2a4dc23135ec777da35673e3528c18fc34e410b1
  2. the medstate mismatch leads than to a VerificationFailed between the receipts_root of the block from the chain and the deserialized ethereum.blocks.Block instance:

    --> 508         must_equal('receipts_root', self.receipts.root_hash, header.receipts_root)
    ...
    VerificationFailed: ('receipts_root', 'h\x13\xf3\xf4T\x913|\xaf3C\xf3\x0c\xfe\xb6\x87\xacI\x14\xf6\xe5\xf3\xc27\x16\xd2V\xe6\xb6\xf4\xc7\x9b', '==', 'm\x01\x96\t\xdc\x00\xb0\xce\x85\xaa\xdd/\xd3\xfe\xb8Q.\x15\xcd\t}D\xde_\xd5b\x02\xack\x02\x0e\xca')
    

    in hex these are:

    • 6813f3f45491337caf3343f30cfeb687ac4914f6e5f3c23716d256e6b6f4c79b in python.
    • 6d019609dc00b0ce85aadd2fd3feb8512e15cd097d44de5fd56202ac6b020eca from header.
  3. with the vm tracing as implemented in https://github.com/ethereum/pyethereum/tree/vm_traces_wip there is zero difference in the vm trace between python and go for this transaction -- all 31 vm steps report exactly the same values for gasCost, stack, memory and storage, etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment