bsc
bsc copied to clipboard
get_all_entries Always timeout
System information
Geth version: geth 1.1.11
OS & Version: Ubuntu Linux 20.04
Connection method: python3.8 web3 IPC
Expected behaviour
After create filteron a contracts events
hashedReqAdded_filter = REG.events.HashedReqAdded.createFilter(fromBlock=i, toBlock=i+100)
I call geth all entries with
new_events = hashedReqAdded_filter.get_all_entries()
I should retrieve all events from block i to i+100
Actual behaviour
I will always get timeout verbose logs suggests that create filter (Served newFilter) is Served but no logs representing get_all_entries
Backtrace
File "/home/bsc/executorV3.py", line 304, in get_ids_and_reqs
new_events = hashedReqAdded_filter.get_all_entries()
File "/home/bsc/.local/lib/python3.8/site-packages/web3/_utils/filters.py", line 164, in get_all_entries
log_entries = self._filter_valid_entries(self.eth_module.get_filter_logs(self.filter_id))
File "/home/bsc/.local/lib/python3.8/site-packages/web3/module.py", line 57, in caller
result = w3.manager.request_blocking(method_str,
File "/home/bsc/.local/lib/python3.8/site-packages/web3/manager.py", line 197, in request_blocking
response = self._make_request(method, params)
File "/home/bsc/.local/lib/python3.8/site-packages/web3/manager.py", line 150, in _make_request
return request_func(method, params)
File "/home/bsc/.local/lib/python3.8/site-packages/web3/middleware/formatting.py", line 94, in middleware
response = make_request(method, params)
File "/home/bsc/.local/lib/python3.8/site-packages/web3/middleware/gas_price_strategy.py", line 90, in middleware
return make_request(method, params)
File "/home/bsc/.local/lib/python3.8/site-packages/web3/middleware/formatting.py", line 94, in middleware
response = make_request(method, params)
File "/home/bsc/.local/lib/python3.8/site-packages/web3/middleware/attrdict.py", line 33, in middleware
response = make_request(method, params)
File "/home/bsc/.local/lib/python3.8/site-packages/web3/middleware/formatting.py", line 94, in middleware
response = make_request(method, params)
File "/home/bsc/.local/lib/python3.8/site-packages/web3/middleware/formatting.py", line 94, in middleware
response = make_request(method, params)
File "/home/bsc/.local/lib/python3.8/site-packages/web3/middleware/formatting.py", line 94, in middleware
response = make_request(method, params)
File "/home/bsc/.local/lib/python3.8/site-packages/web3/middleware/buffered_gas_estimate.py", line 40, in middleware
return make_request(method, params)
File "/home/bsc/.local/lib/python3.8/site-packages/web3/middleware/formatting.py", line 94, in middleware
response = make_request(method, params)
File "/home/bsc/.local/lib/python3.8/site-packages/web3/providers/ipc.py", line 252, in make_request
timeout.sleep(0)
File "/home/bsc/.local/lib/python3.8/site-packages/web3/_utils/threads.py", line 89, in sleep
self.check()
File "/home/bsc/.local/lib/python3.8/site-packages/web3/_utils/threads.py", line 82, in check
raise self
web3._utils.threads.Timeout: 300 seconds
Could you provider the public repo to replay this issue?
Basically get_all_entries
fails with timeout what do you mean by public repo? @cosinlink
the demo you sent get_all_entries
for replaying the issue
from web3 import Web3, IPCProvider, WebsocketProvider, exceptions
from web3.middleware import geth_poa_middleware
from constant import REGISTRY_ADDR, REG_ABI
W3 = Web3(IPCProvider(ipc_path='/home/ubuntu/node/geth.ipc'))
W3.middleware_onion.inject(geth_poa_middleware, layer=0)
REG = W3.eth.contract(address=REGISTRY_ADDR, abi=REG_ABI)
hashedReqAdded_filter = REG.events.HashedReqAdded.createFilter(fromBlock=19029895, toBlock=19629895)
ent = hashedReqAdded_filter.get_all_entries() # timeout here
print(ent)