mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-14 12:43:40 +02:00
For reasons I do not really grok, this PR changes the timing behavior of the
functional tests to reliably expose a deadlock in the claimpegin RPC that has
existed since the 0.17 rebase.
The mechanism is: in `claimpegin` in src/wallet/rpcwallet.cpp:5873, we call
`AcceptToMemoryPoolWorker`. This requires cs_main to be locked, which it is
not (contrast Core's `testmempoolaccept` RPC, which similarly calls
`AcceptToMemoryPoolWorker` from the RPC thread, and locks cs_main immediately
before).
We do *say* that it is locked, in the `LockAssertion` one the line above, but
this was added in
|
||
|---|---|---|
| .. | ||
| __init__.py | ||
| address.py | ||
| authproxy.py | ||
| blocktools.py | ||
| coverage.py | ||
| descriptors.py | ||
| key.py | ||
| liquid_addr.py | ||
| messages.py | ||
| mininode.py | ||
| netutil.py | ||
| script.py | ||
| script_util.py | ||
| segwit_addr.py | ||
| siphash.py | ||
| socks5.py | ||
| test_framework.py | ||
| test_node.py | ||
| test_shell.py | ||
| util.py | ||
| wallet_util.py | ||