We seem to be getting this reasonably frequently in our Travis output:
20:23:49.394 DEBUG org.testcontainers.containers.wait.HostPortWaitStrategy - Liveness check port of /romantic_pasteur is empty. Not waiting.
20:23:49.419 INFO 馃惓 [richnorth/vnc-recorder:latest] - Container richnorth/vnc-recorder:latest started
No output has been received in the last 10m0s, this potentially indicates a stalled build or something wrong with the build itself.
Check the details on how to adjust your build configuration on: https://docs.travis-ci.com/user/common-build-problems/#Build-times-out-because-no-output-was-received
The build has been terminated
We need to investigate why this is happening and fix it. It would also be useful to know whether this is a problem with our CI setup or an actual bug that might affect users.
I've managed to track this down to what looks like a race condition, introduced when we changed the selenium container wait strategy to be based on log output. It occurs at this line in containerIsStarted:
this.driver = new RemoteWebDriver(getSeleniumAddress(), desiredCapabilities);
I see a thread blocked reading a socket inside of selenium's RemoteWebDriver. I imagine we're trying to initialise the driver too quickly now, and we're hitting this intermittently.
I'll try to resolve by wrapping the affected line inside of a timeout-and-retry construct.
@rnorth 馃憤 if it fixes this annoying freezing, that would be awesome!
Could potentially solve #257
/cc @pavelpp
Most helpful comment
I've managed to track this down to what looks like a race condition, introduced when we changed the selenium container wait strategy to be based on log output. It occurs at this line in
containerIsStarted:I see a thread blocked reading a socket inside of selenium's RemoteWebDriver. I imagine we're trying to initialise the driver too quickly now, and we're hitting this intermittently.
I'll try to resolve by wrapping the affected line inside of a timeout-and-retry construct.