-
Notifications
You must be signed in to change notification settings - Fork 20.6k
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
Faucet stops interacting with the eth client after err="context deadline exceeded" #20793
Comments
Could you please supply the geth version number? |
If it happens again, please kill it with |
We've just redeployed the Rinkeby faucet to latest master, lets see if it acts up for us. |
I modified the live faucet to panic maxsam4@87fb4de when this happens so that it can be restarted by systemd. Is there an easy way to do the stack dump while panicking? If not, I can spin up another instance and get the dump from there. I don't want to disturb the live faucet. (I can also return a systemd watchdog signal and have systemd kill it with |
A panic should give you a stack dump. You can also use |
@holiman A faucet doesn't have RPC, you can't attach a console to it. |
This is what was in syslog from the last time it crashed. |
I am not sure if this is what you guys are after. Please let me know if you'd like logs from somewhere else. |
My bad -- |
The faucet hasn't hit the In any case, if/when it happens again, I'll share the stack dump. |
Managed to reproduce it on Rinkeby (updated out faucet from 1.9.7 to latest). Apparently something broke in the new light client code, looking into it. https://gist.github.com/karalabe/3e27109ab98051375aaa7feb136d640b |
This seems interesting:
|
I'm running a faucet for Goerli over at https://faucet.goerli.mudit.blog/.
There's a severe lack of light client-serving peers and as a result, often times the faucet loses all connections. The problem is that it stops retrying. Once
context deadline exceeded
error happens, the faucet never updates the state (I've waited for hours after this error). If the light client kept retrying, it will eventually find a peer. If I restart the faucet, it finds a couple of peers within a few seconds.I'm running a goerli full node with 300 les client limit and 400 les cpu limit (on an 8 core server) on the same server as the faucet to try and have at least one node always serve to the faucet but the connection between my node and the faucet still breaks sometimes.
There are a couple other people I know that are serving light clients on goerli but we're all maxing out on light client connections. I don't know why there's such a huge demand for goerli light clients. Perhaps something to do with the beacon chain.
I am new to go so don't really know what exactly is going on with the context but I'm thinking of increasing the context limit a little and panicking when this error happens. systemd will catch the panic and restart the service. It will "fix" the problem but it's an ugly solution lol.
Is it possible to have the faucet/client keep looking for peers after the error and resume operations when it finds some?
ps If EF is still running goerli nodes, can you please up your les client limit?
The text was updated successfully, but these errors were encountered: