ethminer API timing out, but only on remote agent connectionsI have hundreds of messages like this on the remote agent log per day on my miners(which eventually lead to false positive offline detection):
2020/11/01 6:51:23.796 [016] [E]Failed to process API request (localhost, time: 13006 ms): {"id":0,"jsonrpc":"2.0","method":"miner_getstatdetail"}
Unable to read data from the transport connection: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
48 hours ago I started running a script I made that reads the API on localhost every 5 seconds on every miner, I also ran the script 3 times on my machine with each instance pointing to the IP of each miner, the script instances never failed to connect and always took just a few milliseconds everywhere(only once in the 48 hours from my machine one instance took around one second to respond but responded correctly). I made this test with firewall disabled and freshly restarted miners.
I tried setting the priority of the remote agent process to high, I don't think it made a difference.
This is happening with ethminer 0.17.1 (chosen via awesome miner) and ethminer-0.19.0-7+commit.66186f1b (manually uploaded via awesome miner custom software). Although it seems to happen more on the updated version. I'm not using 0.18.0 (chosen via awesome miner) as it that version of ethminer has a bug that prevents the api from responding. I'm using the later version mainly because 0.17.1 won't show any data while mining, I believe the only data missing when using the later version is the individual progress details for each gpu.
Any suggestion on what else I could try? thanks
Thanks for the detailed description and for your analysis. So at the same time Remote Agent get a timeout after 13 seconds, your tool connecting to the same EthMiner API is receiving a response without any problems? Do you see a timeout error like this and then it works fine for a while and then another timeout and so on?
I will have to look into this a bit more because I cannot see any obvious reason why Remote Agent would timeout if the API is in fact working.
For the API data processing, I can make a few adjustments to make sure it parses the API response correctly once received.