Kittywhiskers Van Gogh
0e58b340e6
merge bitcoin#19107: Move all header verification into the network layer, extend logging
2022-09-24 08:51:05 +05:30
Kittywhiskers Van Gogh
8dc4e05c1a
merge bitcoin#19264: don't import asyncio to test magic bytes
2022-09-24 08:51:05 +05:30
Kittywhiskers Van Gogh
3289e55877
merge bitcoin#18764: replace inv type magic numbers by constants
2022-09-24 08:51:05 +05:30
MarcoFalke
60cfe097be
Merge #18247 : test: Wait for both veracks in add_p2p_connection
...
faf1d047313e71658fb31f6b94fdd5d37705ab85 test: Remove redundant sync_with_ping after add_p2p_connection (MarcoFalke)
fa9064704524a0fd1fa9ea73eea45b07316ac3d1 test: Wait for both veracks in add_p2p_connection (MarcoFalke)
Pull request description:
This fixes the race in p2p_blocksonly
E.g. https://travis-ci.org/MarcoFalke/bitcoin-core/jobs/657038844#L4500
```
...
test 2020-03-01T20:58:28.825000Z TestFramework.mininode (DEBUG): Closed connection to: 127.0.0.1:11828
node0 2020-03-01T20:58:28.825642Z [net] disconnecting peer=0
node0 2020-03-01T20:58:28.825826Z [net] Cleared nodestate for peer=0
node0 2020-03-01T20:58:28.875835Z [http] Received a POST request for / from 127.0.0.1:53448
node0 2020-03-01T20:58:28.876067Z [httpworker.0] ThreadRPCServer method=getmempoolinfo user=__cookie__
test 2020-03-01T20:58:28.877000Z TestFramework.mininode (DEBUG): Connecting to Bitcoin Node: 127.0.0.1:11828
test 2020-03-01T20:58:28.878000Z TestFramework.mininode (DEBUG): Connected & Listening: 127.0.0.1:11828
test 2020-03-01T20:58:28.878000Z TestFramework.mininode (DEBUG): Send message to 127.0.0.1:11828: msg_version(nVersion=70014 nServices=9 nTime=Sun Mar 1 20:58:28 2020 addrTo=CAddress(nServices=1 ip=127.0.0.1 port=11828) addrFrom=CAddress(nServices=1 ip=0.0.0.0 port=0) nNonce=0x164D5DEB952A4A0B strSubVer=b'/python-mininode-tester:0.0.3/' nStartingHeight=-1 nRelay=1)
node0 2020-03-01T20:58:28.883808Z [net] Added connection peer=1
node0 2020-03-01T20:58:28.883950Z [net] connection from 127.0.0.1:33798 accepted
node0 2020-03-01T20:58:28.884300Z [msghand] received: version (116 bytes) peer=1
node0 2020-03-01T20:58:28.884483Z [msghand] sending version (114 bytes) peer=1
node0 2020-03-01T20:58:28.884700Z [msghand] send version message: version 70015, blocks=200, us=[::]:0, peer=1
node0 2020-03-01T20:58:28.884765Z [msghand] sending verack (0 bytes) peer=1
test 2020-03-01T20:58:28.885000Z TestFramework.mininode (DEBUG): Received message from 127.0.0.1:11828: msg_version(nVersion=70015 nServices=1033 nTime=Sun Mar 1 20:58:28 2020 addrTo=CAddress(nServices=0 ip=0.0.0.0 port=0) addrFrom=CAddress(nServices=1033 ip=0.0.0.0 port=0) nNonce=0x4A0F2F4C549B3399 strSubVer=b'/Satoshi:0.19.99(testnode0)/' nStartingHeight=200 nRelay=0)
test 2020-03-01T20:58:28.885000Z TestFramework.mininode (DEBUG): Send message to 127.0.0.1:11828: msg_verack()
test 2020-03-01T20:58:28.885000Z TestFramework.mininode (DEBUG): Received message from 127.0.0.1:11828: msg_verack()
node0 2020-03-01T20:58:28.885004Z [msghand] receive version message: /python-mininode-tester:0.0.3/: version 70014, blocks=-1, us=127.0.0.1:11828, peer=1
test 2020-03-01T20:58:28.886000Z TestFramework (INFO): Check that txs from rpc are not rejected and relayed to other peers
node0 2020-03-01T20:58:28.886556Z [http] Received a POST request for / from 127.0.0.1:53448
node0 2020-03-01T20:58:28.886783Z [httpworker.1] ThreadRPCServer method=getpeerinfo user=__cookie__
node0 2020-03-01T20:58:28.889032Z [http] Received a POST request for / from 127.0.0.1:53448
node0 2020-03-01T20:58:28.889294Z [httpworker.2] ThreadRPCServer method=testmempoolaccept user=__cookie__
node0 2020-03-01T20:58:28.891655Z [http] Received a POST request for / from 127.0.0.1:53448
node0 2020-03-01T20:58:28.891963Z [httpworker.3] ThreadRPCServer method=sendrawtransaction user=__cookie__
node0 2020-03-01T20:58:28.893115Z [httpworker.3] Enqueuing TransactionAddedToMempool: txid=af34fc5ff9ea8babbd4083fbb79ffd2ad5aff1d6def803c07ca5aeed880bd60f wtxid=af34fc5ff9ea8babbd4083fbb79ffd2ad5aff1d6def803c07ca5aeed880bd60f
node0 2020-03-01T20:58:28.893443Z [scheduler] TransactionAddedToMempool: txid=af34fc5ff9ea8babbd4083fbb79ffd2ad5aff1d6def803c07ca5aeed880bd60f wtxid=af34fc5ff9ea8babbd4083fbb79ffd2ad5aff1d6def803c07ca5aeed880bd60f
node0 2020-03-01T20:58:28.894814Z [msghand] received: verack (0 bytes) peer=1
node0 2020-03-01T20:58:28.894937Z [msghand] sending sendheaders (0 bytes) peer=1
node0 2020-03-01T20:58:28.895087Z [msghand] sending sendcmpct (9 bytes) peer=1
node0 2020-03-01T20:58:28.895235Z [msghand] sending sendcmpct (9 bytes) peer=1
node0 2020-03-01T20:58:28.895430Z [msghand] sending ping (8 bytes) peer=1
node0 2020-03-01T20:58:28.895896Z [msghand] initial getheaders (199) to peer=1 (startheight:-1)
test 2020-03-01T20:58:28.896000Z TestFramework.mininode (DEBUG): Received message from 127.0.0.1:11828: msg_sendheaders()
node0 2020-03-01T20:58:28.896016Z [msghand] sending getheaders (645 bytes) peer=1
node0 2020-03-01T20:58:28.896607Z [msghand] sending feefilter (8 bytes) peer=1
test 2020-03-01T20:58:28.897000Z TestFramework.mininode (DEBUG): Received message from 127.0.0.1:11828: msg_sendcmpct(announce=False, version=2)
test 2020-03-01T20:58:28.897000Z TestFramework.mininode (DEBUG): Received message from 127.0.0.1:11828: msg_sendcmpct(announce=False, version=1)
test 2020-03-01T20:58:28.897000Z TestFramework.mininode (DEBUG): Received message from 127.0.0.1:11828: msg_ping(nonce=f735096062d217b5)
test 2020-03-01T20:58:28.897000Z TestFramework.mininode (DEBUG): Send message to 127.0.0.1:11828: msg_pong(nonce=f735096062d217b5)
test 2020-03-01T20:58:28.897000Z TestFramework.mininode (DEBUG): Received message from 127.0.0.1:11828: msg_getheaders(locator=CBlockLocator(nVersion=70014 vHave=[48924041037103782797700918670732352379567180837453042168545380831411841797392, 28010422273815860773972769588722664110955084223364219183119416607410792753789, 5954376895683677137597080246740451260829355661937599865380797589540815086241, 14500403275336359851183244421245184901482464358719551678581030092830439955257, 17853919108052771837249729512111680264864054213441538187113939176285784834878, 28843166929059356839755035875664073555480989477... (msg truncated)
test 2020-03-01T20:58:28.897000Z TestFramework.mininode (DEBUG): Received message from 127.0.0.1:11828: msg_feefilter(feerate=000003e8)
node0 2020-03-01T20:58:28.898144Z [msghand] received: pong (8 bytes) peer=1
node0 2020-03-01T20:59:28.338539Z [scheduler] Feeding 13446 bytes of dynamic environment data into RNG
test 2020-03-01T20:59:28.908000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
def test_function():
assert self.is_connected
if not self.last_message.get('tx'):
return False
return self.last_message['tx'].tx.rehash() == txid
'''
test 2020-03-01T20:59:28.908000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
File "/home/travis/build/MarcoFalke/bitcoin-core/build/bitcoin-x86_64-pc-linux-gnu/test/functional/test_framework/test_framework.py", line 112, in main
self.run_test()
File "/home/travis/build/MarcoFalke/bitcoin-core/build/bitcoin-x86_64-pc-linux-gnu/test/functional/p2p_blocksonly.py", line 57, in run_test
self.nodes[0].p2p.wait_for_tx(txid)
File "/home/travis/build/MarcoFalke/bitcoin-core/build/bitcoin-x86_64-pc-linux-gnu/test/functional/test_framework/mininode.py", line 369, in wait_for_tx
wait_until(test_function, timeout=timeout, lock=mininode_lock)
File "/home/travis/build/MarcoFalke/bitcoin-core/build/bitcoin-x86_64-pc-linux-gnu/test/functional/test_framework/util.py", line 234, in wait_until
raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
def test_function():
assert self.is_connected
if not self.last_message.get('tx'):
return False
return self.last_message['tx'].tx.rehash() == txid
''' not true after 60 seconds
ACKs for top commit:
jonatack:
ACK faf1d04
Tree-SHA512: 3b1a38a5c87d11c610eee0988f0c4af9bfcd978df9ac718ef611f663df2fd4a0eb04e077df5e940d15971bb2f22328fb6021cacccb6902f1e527f288ad2c4a2c
2022-09-08 00:02:35 +03:00
MarcoFalke
640616ff10
Merge #17469 : test: Remove fragile assert_memory_usage_stable
...
fac942ca57dce6cfa5655a3ac8664d6a051bc01f test: Remove fragile assert_memory_usage_stable (MarcoFalke)
Pull request description:
This test fails on arm64 and a fuzz tests seems inappropriate for the functional test suite anyway, so remove it.
Example failures:
* https://travis-ci.org/bitcoin/bitcoin/jobs/611497963#L14517
* https://travis-ci.org/MarcoFalke/bitcoin-core/jobs/611029104#L3876
ACKs for top commit:
jamesob:
ACK fac942ca57
Tree-SHA512: 3577e7ce5891d221cb798454589ba796ed0c06621a26351bb919c23bc6bb46aafcd0b11cb02bbfde64b74d67cb2950da44959a7ecdc436491a34e8b045c1ccf4
2022-08-24 14:29:45 -04:00
MarcoFalke
22ae9fde91
Merge #14794 : tests: Add AddressSanitizer (ASan) Travis build
...
6541d59ddc Add LSan suppression warnings (practicalswift)
ff7212ec32 Add ASan Travis build (practicalswift)
ebd3bf2590 Make test p2p_invalid_messages.py pass: Allow for expected Travis ASAN memory increase (practicalswift)
Pull request description:
Add ASan Travis build.
Tree-SHA512: b9712aaf0c9112b637b6ef0c5d93961863dcbecaf31d9561eb09258a61540fb31d2c8ecae86518a82763279e4aa6cac266cd352c2b2507df0335c0199f8b3d78
2022-05-23 02:15:51 -04:00
MarcoFalke
2d114eec1e
Merge #16888 : test: Bump timeouts in slow running tests
...
fa502cb6f07f9a0c170185b760e3e349c6dac5f8 test: Bump timeouts in slow running tests (MarcoFalke)
Pull request description:
Fixes #16794
ACKs for top commit:
jamesob:
ACK fa502cb6f0
Tree-SHA512: 52d1a6f9febe066332cc9df40638fdc3e8aaf1990caf912073b42f2f6615879da5512533ff71b85b4865034bc30da46945d34916669068e004e68058aeb04e90
2021-12-15 20:09:58 +05:30
Kittywhiskers Van Gogh
b0ee2a40a4
merge bitcoin#17931: Fix p2p_invalid_messages failing in Python 3.8 because of warning
2021-11-03 10:45:00 +05:30
Kittywhiskers Van Gogh
c0d4df0a06
merge bitcoin#16202: Refactor network message deserialization
...
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2021-11-03 10:45:00 +05:30
Kittywhiskers Van Gogh
907101098d
merge bitcoin#16445: Skip flaky p2p_invalid_messages test on macOS
2021-11-03 10:45:00 +05:30
Kittywhiskers Van Gogh
a5445a4584
merge bitcoin#15697: Make swap_magic_bytes in p2p_invalid_messages atomic
2021-11-03 10:45:00 +05:30
Kittywhiskers Van Gogh
2ecf042619
merge bitcoin#15330: Fix race in p2p_invalid_messages
2021-11-03 10:45:00 +05:30
Kittywhiskers Van Gogh
e96ed3b6ac
merge bitcoin#15246: Add tests for invalid message headers
...
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2021-11-03 10:44:59 +05:30
MarcoFalke
a52460d709
Merge #14812 : qa: fix p2p_invalid_messages on macOS
...
5a1f57646b qa: clean up assert_memory_usage_stable utility (James O'Beirne)
0cf1632f03 qa: fix p2p_invalid_messages on macOS (James O'Beirne)
Pull request description:
Infinite mea culpa for the number of problems with this test.
This change bumps the acceptable RSS increase threshold from 3% to 50% when spamming the test node with junk 4MB messages. On [@MarcoFalke's macOS test build](https://travis-ci.org/MarcoFalke/btc_nightly ) we see RSS grow ~14% from ~71MB to 81MB, so a 50% increase threshold should be more than sufficient to avoid spurious failures.
Tree-SHA512: 150a7b88080fd883c7a5d0b9ffa470f61a97c4885fccc1a06fde6260aaef15640a7c1de7e89c581b245df7807d617ec3d86775330386ec5149ad567492fc5d31
2021-08-22 21:34:42 -05:00
MarcoFalke
f8a5d6fc76
Merge #14672 : tests: Send fewer spam messages in p2p_invalid_messages
...
3d305e3b89 Send fewer spam messages in p2p_invalid_messages (James O'Beirne)
Pull request description:
Builds on travis are failing because the test node isn't
able to drop all the bad messages sent within the given
timeout. Reduce the number of bad messages we're sending
and increase the timeout to avoid failures on travis.
Tree-SHA512: 11c389619d9590caf7eca74e0efe6d950469415d34220072770689024b350cc08a2d5ec90634237d87ff71ba8b638c1152b8a45ffbb2815a48bde6a88fbb8fc6
2021-08-22 21:34:41 -05:00
Konstantin Akimov
ea6def648d
Fixed test by updating length of message accordingly dash' MAX MESSAGE SIZE
2021-08-22 21:34:41 -05:00
Wladimir J. van der Laan
cf627fba6d
Merge #14522 : tests: add invalid P2P message tests
...
d20a9fa13d1c13f552e879798c0508be70190e71 tests: add tests for invalid P2P messages (James O'Beirne)
62f94d39f8de88a44bb0a8a2837d864f777aaacc tests: add P2PConnection.send_raw_message (James O'Beirne)
5aa31f6ef26f51ce461c917654dd1cfbbdd1409a tests: add utility to assert node memory usage hasn't increased (James O'Beirne)
Pull request description:
- Adds `p2p_invalid_messages.py`: tests based on behavior for dealing with invalid and malformed P2P messages. Includes a test verifying that we can't DoS a node by spamming it with large invalid messages.
- Adds `TestNode.assert_memory_usage_stable`: a context manager that allows us to ensure memory usage doesn't significantly increase on a node during some test.
- Adds `P2PConnection.send_raw_message`: which allows us to construct and send messages with tweaked headers.
Tree-SHA512: 720a4894c1e6d8f1551b2ae710e5b06c9e4f281524623957cb01599be9afea82671dc26d6152281de0acb87720f0c53b61e2b27d40434d30e525dd9e31fa671f
2021-08-22 21:34:32 -05:00