8000 "TransactionPool.ingest: no pending block evaluator" when trying to do a transaction on just a single node · Issue #6303 · algorand/go-algorand · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

"TransactionPool.ingest: no pending block evaluator" when trying to do a transaction on just a single node #6303

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
henophilia opened this issue Apr 15, 2025 · 0 comments
Labels
bug Something isn't working

Comments

@henophilia
Copy link
henophilia commented Apr 15, 2025

Subject of the issue

I am working on a self-contained script through which one can set up a completely new Algorand network with a newly provisioned node hosted on fly.io.

In my code, I have very simple unit tests which show that I can connect to the node, but whenever I want to perform a transaction from one address to another, I get the error "TransactionPool.ingest: no pending block evaluator".

Your environment

A Dockerfile based on algorand/algod:latest

Steps to reproduce

Make sure that you have python3 and the fly CLI installed and you're logged in to your fly.io account. Then:

  1. git clone https://github.com/hermesloom/algorand-node-fly
  2. cd algorand-node-fly
  3. ./setup.sh 100 EUR
    • Answer Would you like to copy its configuration to the new app? with y
    • Answer Do you want to tweak these settings before proceeding? with n
    • Answer Would you like to allocate dedicated ipv4 and ipv6 addresses now? with y

Expected behaviour

The unit tests in the script local/test.py in the aforementioned repository should be executed successfully.

Actual behaviour

Unit tests test_04_transfer_funds and test_05_multiple_accounts fail with the following errors:

Using app name: algorand-node
Getting IP address for algorand-node...
Using Fly.io app IP address: <redacted>
Using API at: http://<redacted>
Using Genesis address: <redacted>
Waiting for API to be healthy (max 15 attempts)...
✅ API is healthy! (attempt 1/15)
..Genesis account balance: 10000000000000000 picoXDRs
.FF
======================================================================
FAIL: test_04_transfer_funds (__main__.AlgorandAPITest.test_04_transfer_funds)
Test transferring funds from genesis to a new test account.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/nalenz/Programmierung/algorand-node-fly/local/test.py", line 222, in test_04_transfer_funds
    result = self.api_client.transfer(
        self.genesis_address,
    ...<3 lines>...
        "Test transfer",
    )
  File "/Users/nalenz/Programmierung/algorand-node-fly/local/api_client.py", line 70, in transfer
    raise Exception(f"Error transferring funds: {response.text}")
Exception: Error transferring funds: {"error":"Failed to transfer funds: TransactionPool.Remember: TransactionPool.ingest: no pending block evaluator"}


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/nalenz/Programmierung/algorand-node-fly/local/test.py", line 260, in test_04_transfer_funds
    self.fail(f"Failed to transfer funds and verify: {e}")
    ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: Failed to transfer funds and verify: Error transferring funds: {"error":"Failed to transfer funds: TransactionPool.Remember: TransactionPool.ingest: no pending block evaluator"}


======================================================================
FAIL: test_05_multiple_accounts (__main__.AlgorandAPITest.test_05_multiple_accounts)
Test creating multiple accounts and transferring between them.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/nalenz/Programmierung/algorand-node-fly/local/test.py", line 270, in test_05_multiple_accounts
    fund_result = self.api_client.transfer(
        self.genesis_address,
    ...<3 lines>...
        "Fund for multi-account test",
    )
  File "/Users/nalenz/Programmierung/algorand-node-fly/local/api_client.py", line 70, in transfer
    raise Exception(f"Error transferring funds: {response.text}")
Exception: Error transferring funds: {"error":"Failed to transfer funds: TransactionPool.Remember: TransactionPool.ingest: no pending block evaluator"}


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/nalenz/Programmierung/algorand-node-fly/local/test.py", line 312, in test_05_multiple_accounts
    self.fail(f"Failed in multiple account test: {e}")
    ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: Failed in multiple account test: Error transferring funds: {"error":"Failed to transfer funds: TransactionPool.Remember: TransactionPool.ingest: no pending block evaluator"}


----------------------------------------------------------------------
Ran 5 tests in 1.604s

FAILED (failures=2)

More specifically, in my server logs I see that the error happens here in algod_client.send_transaction, but it just says HTTP Error 400: Bad Request:

[2025-04-15 12:27:22,499] ERROR in server_api: Error transferring funds: TransactionPool.Remember: TransactionPool.ingest: no pending block evaluator
Traceback (most recent call last):
File "/algod/venv/lib/python3.11/site-packages/algosdk/v2client/algod.py", line 106, in algod_request
resp = urlopen(req, timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/urllib/request.py", line 216, in urlopen
return opener.open(url, data, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/urllib/request.py", line 525, in open
response = meth(req, response)
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/urllib/request.py", line 634, in http_response
response = self.parent.error(
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/urllib/request.py", line 563, in error
return self._call_chain(*args)
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/urllib/request.py", line 496, in _call_chain
result = func(*args)
^^^^^^^^^^^
File "/usr/lib/python3.11/urllib/request.py", line 643, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 400: Bad Request

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/algod/server_api.py", line 590, in transfer_funds
tx_id = algod_client.send_transaction(signed_txn)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/algod/venv/lib/python3.11/site-packages/algosdk/v2client/algod.py", line 336, in send_transaction
return self.send_raw_transaction(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/algod/venv/lib/python3.11/site-packages/algosdk/v2client/algod.py", line 363, in send_raw_transaction
resp = self.algod_request("POST", req, data=txn_bytes, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/algod/venv/lib/python3.11/site-packages/algosdk/v2client/algod.py", line 116, in algod_request
raise error.AlgodHTTPError(m, code, j.get("data"))
algosdk.error.AlgodHTTPError: TransactionPool.Remember: TransactionPool.ingest: no pending block evaluator
@henophilia henophilia added the bug Something isn't working label Apr 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant
0