Skip to content

ssl: //test/integration:ssl_integration_test test is flaky #5420

@jmarantz

Description

@jmarantz

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions