Investiage RPC connection lifetime issues #18623

issue maflcko opened this issue on April 13, 2020
  1. maflcko commented at 1:43 PM on April 13, 2020: member

    At least our tests are plagued by RPC connection lifetime issues. The connection (in python, test/functional/test_framework/authproxy.py) often throws BrokenPipeError ( ConnectionResetError on freebsd, OsError: [WinError 10053] An established connection was aborted by the software in your host machine on Windows)

    On Windows, running feature_fee_estimation is just not possible at all. See https://github.com/bitcoin/bitcoin/blob/d9fd7b5a675d94b99a5ee5b636bbc21088ed02fb/.appveyor.yml#L88

    Useful skills:

    • Strong background in internet protocols
    • Strong background in libevent
    • Basic knowledge of the Bitcoin Core HTTP RPC server and functional tests' RPC dispatcher

    Want to work on this issue?

    The purpose of the good first issue label is to highlight which issues are suitable for a new contributor without a deep understanding of the codebase.

    You do not need to request permission to start working on this. You are encouraged to comment on the issue if you are planning to work on it. This will help other contributors monitor which issues are actively being addressed and is also an effective way to request assistance if and when you need it.

    For guidance on contributing, please read CONTRIBUTING.md before opening your pull request.

  2. maflcko added the label good first issue on Apr 13, 2020
  3. promag commented at 2:08 PM on April 13, 2020: member
  4. maflcko commented at 2:24 PM on April 13, 2020: member

    The issues have been worked around in #18596, so they should only happen invisibly. Still, reason enough to fix them.

  5. maflcko commented at 8:22 PM on April 15, 2020: member

    The functional tests have been disabled on windows for now. See fa50d11dd117eb6f91cbeac7476797f3885a6169

  6. maflcko cross-referenced this on Apr 15, 2020 from issue Improve Windows CI experience by maflcko
  7. kanzure commented at 5:18 PM on April 19, 2020: contributor

    Retrying RPC requests can be dangerous outside of the tests... Someone recently suggested a nonce: https://github.com/bitcoin/bitcoin/issues/9197

  8. maflcko commented at 6:57 PM on April 19, 2020: member

    Yes, and my worry is that some users who run into this in production will copy our test authproxy and think that it is the "official" one.

  9. maflcko cross-referenced this on Apr 26, 2020 from issue Error 10053 and code -22 transaction too big? by number9387
  10. maflcko added the label Tests on Jun 10, 2020
  11. maflcko cross-referenced this on Jun 10, 2020 from issue test: ConnectionRefusedError on consecutive runs the same test by hebasto
  12. willcl-ark commented at 8:58 AM on August 28, 2020: contributor

    I was just looking at this issue, and it seems that the historical context was actually to remove HTTP keep-alive header (behind a flag) in 16a5c18cea7330bd68dc9d2f768eb518af88795b due to long-lived connection issues, and then finally erase it completely in the RPC overhaul of 40b556d3742a1f65d67e2d4c760d0b13fe8be5b7.

    I am therefore wondering, would the aim of this issue be to re-introduce keep-alive again (behind a flag, defaulted to off) which could be used by the test framework, or to try and find an alternative approach?

  13. maflcko cross-referenced this on Jan 20, 2022 from issue feature_versionbits_warning.py issue by brunoerg
  14. maflcko cross-referenced this on Dec 19, 2022 from issue Intermittent failure in `tool_wallet.py` by brunoerg
  15. maflcko added the label Windows on Mar 22, 2023
  16. maflcko cross-referenced this on Mar 22, 2023 from issue test: add support for all networks in `deserialize_v2` by brunoerg
  17. maflcko removed the label good first issue on Apr 4, 2023
  18. maflcko cross-referenced this on Apr 4, 2023 from issue test: Remove windows workaround in authproxy by maflcko
  19. maflcko closed this on Apr 4, 2023

  20. fanquake referenced this in commit 9ec30db888 on Apr 5, 2023
  21. sidhujag referenced this in commit fe8f9e6cb2 on Apr 5, 2023
  22. bitcoin locked this on Apr 3, 2024

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-05-20 06:54 UTC