New issue
Advanced search Search tips

Issue 673059 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocked on: View detail
issue 59847
issue 455942



Sign in to add a comment

HostResolverImplTest.IsIPv6Reachable fails flakily

Project Member Reported by eroman@chromium.org, Dec 10 2016

Issue description

During local runs I have been getting (line numbers are different due to some other changes, but I believe they are unrelated):

[ RUN      ] HostResolverImplTest.IsIPv6Reachable
../../net/dns/host_resolver_impl_unittest.cc:1564: Failure
Value of: cached
  Actual: false
Expected: true
 

Comment 1 by eroman@chromium.org, Dec 10 2016

Blockedon: 455942 59847
Cc: rsleevi@chromium.org
Status: Started (was: Assigned)
tl;dr:   The test flakes whenever crypto::EnsureNSSInit() takes longer than 1 second. (Which on my system is happening semi-reliably)

This happens through an awkward set of dependencies:

   HostResolverImpl::IsIPv6Reachable()
   IsGloballyReachable()
   ClientSocketFactory::GetDefaultFactory()
   CertDatabase::GetInstance()
   CertDatabase()
   NSSInitSingleton()
   NSS_InitReadWrite  <=== SLOW

The test is weird in how it depends on the time it takes to run IsGloballyReachable(). I can easily fix that part to de-flake it.

However this will also need follow-up from issue 455942, which is addressing the general jankiness of IsGloballyReachable(). This might be one contributor (or the primary one) to the slowness seen in that bug thread. But it would only contribute to jank on the very first call to IsGloballyReachable(), and only on platforms using NSS.
Project Member

Comment 2 by bugdroid1@chromium.org, Dec 14 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1a17ef38f0fd22d8c297524072b4530cb1a2664a

commit 1a17ef38f0fd22d8c297524072b4530cb1a2664a
Author: eroman <eroman@chromium.org>
Date: Wed Dec 14 01:06:09 2016

De-flake HostResolverImplTest.IsIPv6Reachable.

Previously the test would fail if IsGloballyReachable() took longer
than 1 second.

(The test still has a dependency on some actions executing within a 1
second window, but unlikely to hit it).

BUG= 673059 

Review-Url: https://codereview.chromium.org/2562073003
Cr-Commit-Position: refs/heads/master@{#438373}

[modify] https://crrev.com/1a17ef38f0fd22d8c297524072b4530cb1a2664a/net/dns/host_resolver_impl.cc

Comment 3 by eroman@chromium.org, Dec 14 2016

Status: Fixed (was: Started)

Sign in to add a comment