-
Notifications
You must be signed in to change notification settings - Fork 973
browser unresponsive when write: broken pipe
errors occur while pulling the latest state
#14882
Comments
Currently running commit 50840f4 and my browser started to show 2-3 minutes later, browser went When I quit Brave, I got a ton of messages about the broken pipe - same as in the description. |
I suspect the browser might become unresponsive, because the Eth-Wallet app is equally chatty on errors when this happens. I haven't been able to repro this state myself tho. |
@flamsmark the current theory is that geth is starving the OS out of some resources (maybe descriptors?). I looked it up, it does not seem like geth has any options to limit the number of connections but we can limit the number of peers to something smaller. |
Reducing peers may be good in general, even helpful ameliorating this bug, but an EPIPE from write(2) means the write-caller should stop looping, close the fd for the write end of the pipe, and arrange for higher level recovery. Sounds like that is not happening. In what code does that write that's logged as getting EPIPE live, can someone debug and get a stack and source coordinates? |
Verified on Windows x64 with |
@mrose17 We've probably reduced the probability/severity of this issue, but I'd prefer to actually solve it at the root cause. |
fwiw I see
a few moments later...
I checked that geth had indeed exited |
i believe that #15029 should resolve most, if not all, of these cases. |
Description
While I was pulling the latest state using a new profile, Brave suddenly became unresponsive after attempting to switch into a different preference page. I tried clicking around a few times and noticed that the entire browser become unresponsive. I could still open a tab, but it was blank and nothing was being loaded. I took a look at the terminal and noticed the following:
After a few seconds, the terminal was spammed with A LOT of the following errors:
Once the errors finished spamming by terminal, Brave become responsive/usable and started pulling the latest blocks:
Steps to Reproduce
about:preferences#ethwallet
and restart the browserSometimes when you're pulling the latest state, you'll run into this issue.
Actual result:
Entire browser becomes unresponsive when
ERROR[07-31|15:12:28.007] write tcp 127.0.0.1:8546->127.0.0.1:52489: write: broken pipe
are being spammed in the terminal due to issues withgeth
.Expected result:
Even though
geth
fails to connect/pull the latest state, it should never cause the entire browser to become completely unresponsive.Reproduces how often:
I've seen it happen a few times but the % isn't high. However, as mentioned below under the
Additional Information
section, @LaurenWags also ran into the same issue.Brave Version
about:brave info:
Reproducible on current live release:
Currently not reproducible on the live release as this feature hasn't been released.
Additional Information
@LaurenWags ran into this as well when we were debugging her connectivity issues. Once Brave connected to the nodes and started pulling the latest state, the browser became unresponsive for about 10s before the terminal was spammed with several
write tcp 127.0.0.1:8546->127.0.0.1:52489: write: broken pipe
errors.The text was updated successfully, but these errors were encountered: