-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Closed
Labels
Description
Description:
The SSL integration tests fail occasionally with an error like this:
[ RUN ] IpVersionsClientVersions/SslCertficateIntegrationTest.ServerRsaClientEcdsaOnly/IPv4_TLSv1_2
test/integration/ssl_integration_test.cc:308: Failure
Expected equality of these values:
1U
Which is: 1
counter->value()
Which is: 0
[ FAILED ] IpVersionsClientVersions/SslCertficateIntegrationTest.ServerRsaClientEcdsaOnly/IPv4_TLSv1_2, where GetParam() = (4-byte object <00-00 00-00>, 3) (78 ms)
It is not always the same test, but it seems like checking the stat bumped in drainErrorQueue for 1 in these expected-error tests doesn't always work. The stat is bumped by this code.
if (saw_error && !saw_counted_error) {
ctx_->stats().connection_error_.inc();
}
I suspect a race where we should be blocking on some kind of condvar before checking the stat, but it's possible there's a threading error in the interaction with the SSL error state as well.
Repro steps:
bazel test test/integration:ssl_integration_test test/integration/ssl_integration_test.cc --runs_per_test=1000
...
//test/integration:ssl_integration_test FAILED in 7 out of 1000 in 8.9s
Reactions are currently unavailable