-
Notifications
You must be signed in to change notification settings - Fork 314
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
Fatal crashes - "[Errno 32] Broken pipe" #431
Comments
Maybe revisiting WebSockets (as partially implemented in #221) is a good idea? |
A crawl with backoffLimit 6 failed after 20 of these exceptions, and got through about 3k sites. With this very limited data, it seems that these socket-induced crashes occur on average every 64-150 sites crawled, with a result in crashing the container about 30-80% of the times. |
Relates to #255 |
This is almost always thrown when another process that the host process is communicating with has crashed, leaving the other end of the socket dead. Thus, catching this exception and recovering from the crash will be difficult or impossible. For example, the stack trace you included is from https://github.com/mozilla/OpenWPM/blob/9f0442241909fdac273eeb444bf06c0f2beb781c/automation/TaskManager.py#L404-L409. This likely means that the data aggregator process has crashed, which is not going to be easy to recover from. In this particular case, the right fix is in #438. |
Closing this since the cause for this particular set of errors was fixed in #438. I don't think there's anything more to do here, for the reasons stated in my comment above. |
In automation/SocketInterface.py in send at line 168
This currently prevents larger crawls from completing.
If this issue can't be resolved, it'd be great if it can be caught gracefully and the site visit retried so that the crawl can continue.
The text was updated successfully, but these errors were encountered: