auction-keeper
auction-keeper copied to clipboard
Filter not found error
Hi,
Fresh install with Parity-Ethereum/v2.7.2-stable-2662d19-20200206/x86_64-unknown-linux-gnu/rustc1.41.0 (--no-warp --jsonrpc-apis all).
I'm getting the following error:
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
self.run()
File "/usr/lib/python3.6/threading.py", line 864, in run
self._target(*self._args, **self._kwargs)
File "/home/user/auction-keeper/lib/pymaker/pymaker/lifecycle.py", line 353, in new_block_watch
for event in event_filter.get_new_entries():
File "/home/user/auction-keeper/_virtualenv/lib/python3.6/site-packages/web3/utils/filters.py", line 108, in get_new_entries
log_entries = self._filter_valid_entries(self.web3.eth.getFilterChanges(self.filter_id))
File "/home/user/auction-keeper/_virtualenv/lib/python3.6/site-packages/web3/eth.py", line 344, in getFilterChanges
"eth_getFilterChanges", [filter_id],
File "/home/user/auction-keeper/_virtualenv/lib/python3.6/site-packages/web3/manager.py", line 112, in request_blocking
raise ValueError(response["error"])
ValueError: {'code': -32000, 'message': 'Filter not found'}
Traceback (most recent call last):
File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/user/auction-keeper/auction_keeper/main.py", line 528, in <module>
AuctionKeeper(sys.argv[1:]).main()
File "/home/user/auction-keeper/auction_keeper/main.py", line 200, in main
lifecycle.every(2, self.check_for_bids)
File "/home/user/auction-keeper/lib/pymaker/pymaker/lifecycle.py", line 155, in __exit__
self._main_loop()
File "/home/user/auction-keeper/lib/pymaker/pymaker/lifecycle.py", line 477, in _main_loop
if not all_filter_threads_alive():
File "/home/user/auction-keeper/lib/pymaker/pymaker/__init__.py", line 55, in all_filter_threads_alive
return all(filter_thread_alive(filter_thread) for filter_thread in filter_threads)
File "/home/user/auction-keeper/lib/pymaker/pymaker/__init__.py", line 55, in <genexpr>
return all(filter_thread_alive(filter_thread) for filter_thread in filter_threads)
File "/home/user/auction-keeper/lib/pymaker/pymaker/__init__.py", line 61, in filter_thread_alive
return hasattr(filter_thread, '_args') and hasattr(filter_thread, '_kwargs') or not filter_thread.running
AttributeError: 'Thread' object has no attribute 'running'
Output of Parity (with --l rpc=trace):
2020-03-09 14:26:44 UTC http.worker30 TRACE rpc Request: {"jsonrpc": "2.0", "method": "eth_syncing", "params": [], "id": 288}.
2020-03-09 14:26:44 UTC http.worker30 DEBUG rpc [Some(Num(288))] Took 80ms
2020-03-09 14:26:44 UTC http.worker30 DEBUG rpc Response: {"jsonrpc":"2.0","result":false,"id":288}.
2020-03-09 14:26:46 UTC http.worker30 TRACE rpc Request: {"jsonrpc": "2.0", "method": "eth_getLogs", "params": [{"address": ["0x35D1b3F3D7966A1DFe207aa4514C12a259A0492B"], "fromBlock": "0x883c0b", "toBlock": "0x930f8e"}], "id": 291}.
2020-03-09 14:26:49 UTC http.worker20 TRACE rpc Request: {"jsonrpc": "2.0", "method": "eth_syncing", "params": [], "id": 292}.
2020-03-09 14:26:49 UTC http.worker20 DEBUG rpc [Some(Num(292))] Took 111ms
2020-03-09 14:26:49 UTC http.worker20 DEBUG rpc Response: {"jsonrpc":"2.0","result":false,"id":292}.
2020-03-09 14:26:49 UTC http.worker20 TRACE rpc Request: {"jsonrpc": "2.0", "method": "eth_blockNumber", "params": [], "id": 293}.
2020-03-09 14:26:49 UTC http.worker20 DEBUG rpc Response: {"jsonrpc":"2.0","result":"0x930f97","id":293}.
2020-03-09 14:26:50 UTC http.worker20 TRACE rpc Request: {"jsonrpc": "2.0", "method": "eth_getFilterChanges", "params": ["0x0"], "id": 294}.
2020-03-09 14:26:50 UTC http.worker20 DEBUG rpc Response: {"jsonrpc":"2.0","error":{"code":-32000,"message":"Filter not found"},"id":294}.
Config:
./auction-keeper/bin/auction-keeper \
--rpc-host localhost \
--rpc-port 8545 \
--rpc-timeout 30 \
--eth-from ${ACCOUNT_ADDRESS} \
--eth-key ${ACCOUNT_KEY} \
--type flip \
--ilk ETH-A \
--max-auctions 2 \
--from-block 8928267 \
--keep-dai-in-vat-on-exit \
--keep-gem-in-vat-on-exit \
--debug \
--model models/fixed_price.sh | tee -a -i logs/auction-keeper-flip-ETH-A.log
The filter not found
error usually indicates the node doesn't support eth filtering (for example, Infura's HTTP endpoints don't support this). Since you're running your own node, this doesn't seem to be the case. I've also seen this occur when there are node connectivity issues or the node isn't in sync.
@DarkShimy00 You should consider git submodule updating pymaker to the commit that contains this PR, as it attempts to fix the error that you're seeing.
@DarkShimy00 You should consider git submodule updating pymaker to the commit that contains this PR, as it attempts to fix the error that you're seeing.
Updating the submodule makes it more stable now. The filter not found error still appears, but the keeper does not crash and keeps running.
Right now, I'm looking at a VulcanizeDB endpoint to see if it would reduce the load on my node.
EDIT: Woops, closed it by mistake.
You can reduce load by using the --bid-only
parameter. As long as other participants are biting vaults, you'll be able to bid on them.
@DarkShimy00 We just updated the readme (see our new Limitations section) to document the Filter not found
issue as well as offer some remedies. Hope this helps, and thank you for your feedback and engagement.