dtr-org / unit-e

A digital currency for a new era of decentralized trust
https://unit-e.io
MIT License
45 stars 15 forks source link

feature_graphene_passive is floating #1055

Open frolosofsky opened 5 years ago

frolosofsky commented 5 years ago

It has flaked on the master branch recently.

2019-05-03T11:32:53.200000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/travis/build/dtr-org/unit-e/build/unit-e-x86_64-unknown-linux-gnu/test/functional/test_framework/test_framework.py", line 203, in main
    self.run_test()
  File "/home/travis/build/dtr-org/unit-e/build/unit-e-x86_64-unknown-linux-gnu/test/functional/feature_graphene_passive.py", line 70, in run_test
    self.test_non_synced_mempool(relay)
  File "/home/travis/build/dtr-org/unit-e/build/unit-e-x86_64-unknown-linux-gnu/test/functional/feature_graphene_passive.py", line 98, in test_non_synced_mempool
    graphene_tx = relay.wait_for((b'graphenetx', block_hash)).graphene_tx
  File "/home/travis/build/dtr-org/unit-e/build/unit-e-x86_64-unknown-linux-gnu/test/functional/feature_graphene_passive.py", line 291, in wait_for
    wait_until(lambda: get_msg() is not None, timeout=10)
  File "/home/travis/build/dtr-org/unit-e/build/unit-e-x86_64-unknown-linux-gnu/test/functional/test_framework/util.py", line 370, in wait_until
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate (['        wait_until(lambda: get_msg() is not None, timeout=10)\n'], 291) not true after 10 seconds

Log is truncated unfortunately. log.txt

castarco commented 5 years ago

I reproduced this error locally, it seems there's a problem at the time of re-conciliating the ILBTs (the same message does not appear when the tests pass).

node1 2019-05-21T13:26:17.903097Z [         net] received: graphenblock (733 bytes) peer=0 
 node1 2019-05-21T13:26:17.903121Z [         net] Received graphene block 2760ed72576efc311a25a0f943baade63accd457687aec5f9d60899fe0d69c9a from peer 0 
 node1 2019-05-21T13:26:17.903170Z [       bench] 'Graphene tx pool enumeration' took 0.04ms 
 node1 2019-05-21T13:26:17.903180Z [         net] Can not reconcile graphene block 2760ed72576efc311a25a0f943baade63accd457687aec5f9d60899fe0d69c9a. Receiver iblt has 65 txs, sender has 61 
 node1 2019-05-21T13:26:17.903188Z [       bench] 'GrapheneBlockReconstructor' took 0.06ms 
 node1 2019-05-21T13:26:17.903193Z [         net] Unable to decode iblt in graphene block 2760ed72576efc311a25a0f943baade63accd457687aec5f9d60899fe0d69c9a 
 node1 2019-05-21T13:26:17.903199Z [         net] sending getdata (37 bytes) peer=0 
 node0 2019-05-21T13:26:17.903424Z [         net] received: getdata (37 bytes) peer=0

feature_graphene_passive.log

P.D.: Not sure if we should fix this test or redesign it, because having IBLT reconciliation problems is something to be expected time to time.