I'm afraid that one locale not updating or having any issues will hide the results of others if it leaves firefox laying around. Once one local fails, all remaining fail with: MarionetteException: MarionetteException: localhost:2828 is unavailable. I could try to fix on my side but I believe it is important to end on a stable note. This bug is actually blocking me.
The issue I've seen here is with cleaning up the socket used by the client, not the firefox process itself (although this could be slightly different). I run into this from time to time running tests locally, my understanding from looking into it was that this occurs when the Python client shuts down the socket abruptly (due to a global timeout on the operation, for instance), which may be difficult to handle cleanly for all cases. Short of fixing the way marionette handles this, we may be able to be more defensive in our own test code when doing something that might time out. I'll take a look at the failure reported and see if this is possible. FWIW, when encountering this issue locally the address becomes available after a short wait (about 30s, possibly more).
Could we make the tests sleep few times instead of throwing the exception on the first try?
Today I have not encountered this issue anymore (LISTENING socket) and have not needed to kill firefox: https://github.com/mozilla/build-tools/compare/master...armenzg:update_testing#diff-6be76d2b3b0cf80a1774be3fc07f85ceR69 I have, however, hit the TIME_WAIT socket issue quite often: https://github.com/mozilla/build-tools/compare/master...armenzg:update_testing#diff-6be76d2b3b0cf80a1774be3fc07f85ceR60
I don't think I've this anymore. It only happens if I Ctrl + C and start running my scripts again.
Status: NEW → RESOLVED
Last Resolved: 3 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.