large tx may fail to send because of request size

Open
#3,352 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
30/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
python
Domain
blockchain

Research direction

Start in lbry/wallet/network.py at send_request and trace the broadcast path through lbry/wallet/manager.py, daemon.py, and wallet/rpc/session.py. Reproduce or inspect the blockchain.transaction.broadcast request with a large transaction; done means the request is handled successfully without the connection reset shown in the report.

Written by the indexing model from the issue text.

Description

area: wallet type: bug
2021-07-06 21:11:23,233 WARNING  lbry.wallet.network:135: Connection lost: spv17.lbry.com:50001
2021-07-06 21:11:23,234 WARNING  lbry.wallet.network:117: closing connection to spv17.lbry.com:50001
2021-07-06 21:11:23,238 ERROR    lbry.wallet.network:78: wallet server (spv17.lbry.com) reset connection upon our blockchain.transaction.broadcast request, json of 1 args is 1589678 bytes
2021-07-06 21:11:23,239 WARNING  lbry.wallet.network:86: connection to spv17.lbry.com:50001 lost
2021-07-06 21:11:23,248 WARNING  lbry.wallet.network:321: connection lost to spv17.lbry.com:50001
2021-07-06 21:11:23,401 ERROR    lbry.extras.daemon.daemon:701: error handling api request
Traceback (most recent call last):
  File "c:\users\thoma\documents\lbry-sdk\lbry\extras\daemon\daemon.py", line 693, in _process_rpc_call
    result = await result
  File "c:\users\thoma\documents\lbry-sdk\lbry\extras\daemon\daemon.py", line 4133, in jsonrpc_support_create
    await self.broadcast_or_release(tx, blocking)
  File "c:\users\thoma\documents\lbry-sdk\lbry\extras\daemon\daemon.py", line 5537, in broadcast_or_release
    await self.wallet_manager.broadcast_or_release(tx, blocking)
  File "c:\users\thoma\documents\lbry-sdk\lbry\wallet\manager.py", line 302, in broadcast_or_release
    await self.ledger.broadcast(tx)
  File "c:\users\thoma\documents\lbry-sdk\lbry\wallet\network.py", line 74, in send_request
    return request.result()
  File "c:\users\thoma\documents\lbry-sdk\lbry\wallet\rpc\session.py", line 483, in send_request
    raise result
  File "C:\Python37\lib\asyncio\selector_events.py", line 814, in _read_ready__data_received
    data = self._sock.recv(self.max_size)
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host```
Dominant language
Python
Stars
7.2k
Forks
493
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from lbryio/lbry-sdk

All issues in lbryio/lbry-sdk

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.