Investiage RPC connection lifetime issues #18623

issue maflcko openend 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. 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
  7. 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.
  8. maflcko added the label Tests on Jun 10, 2020
  9. 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?

  10. maflcko added the label Windows on Mar 22, 2023
  11. maflcko removed the label good first issue on Apr 4, 2023
  12. maflcko closed this on Apr 4, 2023

  13. fanquake referenced this in commit 9ec30db888 on Apr 5, 2023
  14. sidhujag referenced this in commit fe8f9e6cb2 on Apr 5, 2023
  15. 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: 2024-07-01 10:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me