New issue
Advanced search Search tips

Issue 850945 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug

Blocking:
issue 843511



Sign in to add a comment

ClientHintsBrowserTest.ClientHintsHttpsIncognito fails in network_service_browser_tests under asan

Project Member Reported by thakis@chromium.org, Jun 8 2018

Issue description

I'm adding network_service_browser_tests to memory bots. One test fails under asan with a use-after-free:

https://ci.chromium.org/buildbot/chromium.clang/ToTLinuxASan/2574


https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.clang%2FToTLinuxASan%2F2574%2F%2B%2Frecipes%2Fsteps%2Fnetwork_service_browser_tests%2F0%2Flogs%2FClientHintsBrowserTest.ClientHintsHttpsIncognito%2F0


==5382==ERROR: AddressSanitizer: heap-use-after-free on address 0x60c000176b70 at pc 0x00000cf51862 bp 0x7f898975c4a0 sp 0x7f898975c498
WRITE of size 8 at 0x60c000176b70 thread T5 (Chrome_IOThread)
    #0 0xcf51861 in content::URLLoaderFactoryGetter::SetNetworkFactoryForTesting(network::mojom::URLLoaderFactory*) content/browser/url_loader_factory_getter.cc:207:17
    #1 0x11a633eb in ~URLLoaderFactoryGetterWrapper content/public/test/url_loader_interceptor.cc:139:33
    #2 0x11a633eb in operator() buildtools/third_party/libc++/trunk/include/memory:2321:0
    #3 0x11a633eb in reset buildtools/third_party/libc++/trunk/include/memory:2634:0
    #4 0x11a633eb in ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2588:0
    #5 0x11a633eb in __destroy<std::__1::unique_ptr<content::URLLoaderInterceptor::URLLoaderFactoryGetterWrapper, std::__1::default_delete<content::URLLoaderInterceptor::URLLoaderFactoryGetterWrapper> > > buildtools/third_party/libc++/trunk/include/memory:1733:0
    #6 0x11a633eb in destroy<std::__1::unique_ptr<content::URLLoaderInterceptor::URLLoaderFactoryGetterWrapper, std::__1::default_delete<content::URLLoaderInterceptor::URLLoaderFactoryGetterWrapper> > > buildtools/third_party/libc++/trunk/include/memory:1596:0
    #7 0x11a633eb in std::__1::__tree<std::__1::unique_ptr<content::URLLoaderInterceptor::URLLoaderFactoryGetterWrapper, std::__1::default_delete<content::URLLoaderInterceptor::URLLoaderFactoryGetterWrapper> >, std::__1::less<std::__1::unique_ptr<content::URLLoaderInterceptor::URLLoaderFactoryGetterWrapper, std::__1::default_delete<content::URLLoaderInterceptor::URLLoaderFactoryGetterWrapper> > >, std::__1::allocator<std::__1::unique_ptr<content::URLLoaderInterceptor::URLLoaderFactoryGetterWrapper, std::__1::default_delete<content::URLLoaderInterceptor::URLLoaderFactoryGetterWrapper> > > >::destroy(std::__1::__tree_node<std::__1::unique_ptr<content::URLLoaderInterceptor::URLLoaderFactoryGetterWrapper, std::__1::default_delete<content::URLLoaderInterceptor::URLLoaderFactoryGetterWrapper> >, void*>*) buildtools/third_party/libc++/trunk/include/__tree:1833:0
    #8 0x11a633a5 in std::__1::__tree<std::__1::unique_ptr<content::URLLoaderInterceptor::URLLoaderFactoryGetterWrapper, std::__1::default_delete<content::URLLoaderInterceptor::URLLoaderFactoryGetterWrapper> >, std::__1::less<std::__1::unique_ptr<content::URLLoaderInterceptor::URLLoaderFactoryGetterWrapper, std::__1::default_delete<content::URLLoaderInterceptor::URLLoaderFactoryGetterWrapper> > >, std::__1::allocator<std::__1::unique_ptr<content::URLLoaderInterceptor::URLLoaderFactoryGetterWrapper, std::__1::default_delete<content::URLLoaderInterceptor::URLLoaderFactoryGetterWrapper> > > >::destroy(std::__1::__tree_node<std::__1::unique_ptr<content::URLLoaderInterceptor::URLLoaderFactoryGetterWrapper, std::__1::default_delete<content::URLLoaderInterceptor::URLLoaderFactoryGetterWrapper> >, void*>*) buildtools/third_party/libc++/trunk/include/__tree:1831:9
    #9 0x11a5fc0a in clear buildtools/third_party/libc++/trunk/include/__tree:1870:5
    #10 0x11a5fc0a in clear buildtools/third_party/libc++/trunk/include/set:635:0
    #11 0x11a5fc0a in content::URLLoaderInterceptor::ShutdownOnIOThread(base::OnceCallback<void ()>) content/public/test/url_loader_interceptor.cc:440:0
    #12 0x11a63cf5 in Invoke<void (content::URLLoaderInterceptor::*)(base::OnceCallback<void ()>), content::URLLoaderInterceptor *, base::RepeatingCallback<void ()> > base/bind_internal.h:507:12
    #13 0x11a63cf5 in MakeItSo<void (content::URLLoaderInterceptor::*)(base::OnceCallback<void ()>), content::URLLoaderInterceptor *, base::RepeatingCallback<void ()> > base/bind_internal.h:607:0
    #14 0x11a63cf5 in RunImpl<void (content::URLLoaderInterceptor::*)(base::OnceCallback<void ()>), std::__1::tuple<base::internal::UnretainedWrapper<content::URLLoaderInterceptor>, base::RepeatingCallback<void ()> >, 0, 1> base/bind_internal.h:681:0
    #15 0x11a63cf5 in base::internal::Invoker<base::internal::BindState<void (content::URLLoaderInterceptor::*)(base::OnceCallback<void ()>), base::internal::UnretainedWrapper<content::URLLoaderInterceptor>, base::RepeatingCallback<void ()> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:649:0
    #16 0x107cf025 in Run base/callback.h:96:12
    #17 0x107cf025 in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:101:0
    #18 0x108303b5 in base::MessageLoop::RunTask(base::PendingTask*) base/message_loop/message_loop.cc:319:25
    #19 0x10831624 in DeferOrRunPendingTask base/message_loop/message_loop.cc:329:5
    #20 0x10831624 in base::MessageLoop::DoWork() base/message_loop/message_loop.cc:373:0
    #21 0x109f10d0 in base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_libevent.cc:210:31
    #22 0x108a9fd1 in base::RunLoop::Run() base/run_loop.cc:102:14
    #23 0xc1dd0cd in content::BrowserProcessSubThread::IOThreadRun(base::RunLoop*) content/browser/browser_process_sub_thread.cc:178:11
    #24 0x109326d4 in base::Thread::ThreadMain() base/threading/thread.cc:337:3
    #25 0x109e8a54 in base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:76:13
    #26 0x7f89a0545183 in start_thread /build/eglibc-ripdx6/eglibc-2.19/nptl/pthread_create.c:312:0
0x60c000176b70 is located 112 bytes inside of 128-byte region [0x60c000176b00,0x60c000176b80)
freed by thread T5 (Chrome_IOThread) here:
    #0 0x5913080 in operator delete(void*) _asan_rtl_:0
    #1 0xc05eecc in void content::BrowserThread::DeleteOnThread<(content::BrowserThread::ID)1>::Destruct<content::URLLoaderFactoryGetter>(content::URLLoaderFactoryGetter const*) content/public/browser/browser_thread.h:209:9
    #2 0xc067c1c in Release base/memory/ref_counted.h:387:7
    #3 0xc067c1c in Release base/memory/scoped_refptr.h:280:0
    #4 0xc067c1c in ~scoped_refptr base/memory/scoped_refptr.h:208:0
    #5 0xc067c1c in content::AppCacheServiceImpl::~AppCacheServiceImpl() content/browser/appcache/appcache_service_impl.cc:426:0
    #6 0xc0d1c11 in ~ChromeAppCacheService content/browser/appcache/chrome_appcache_service.cc:71:50
    #7 0xc0d1c11 in content::ChromeAppCacheService::~ChromeAppCacheService() content/browser/appcache/chrome_appcache_service.cc:71:0
    #8 0xc0d1d21 in content::ChromeAppCacheService::DeleteOnCorrectThread() const content/browser/appcache/chrome_appcache_service.cc:75:5
    #9 0xc90e278 in Destruct content/browser/appcache/chrome_appcache_service.h:89:14
    #10 0xc90e278 in Release base/memory/ref_counted.h:387:0
    #11 0xc90e278 in Release base/memory/scoped_refptr.h:280:0
    #12 0xc90e278 in ~scoped_refptr base/memory/scoped_refptr.h:208:0
    #13 0xc90e278 in content::ResourceRequesterInfo::~ResourceRequesterInfo() content/browser/loader/resource_requester_info.cc:51:0
    #14 0xc90729c in DeleteInternal<content::ResourceRequesterInfo> base/memory/ref_counted.h:398:5
    #15 0xc90729c in Destruct base/memory/ref_counted.h:351:0
    #16 0xc90729c in Release base/memory/ref_counted.h:387:0
    #17 0xc90729c in Release base/memory/scoped_refptr.h:280:0
    #18 0xc90729c in ~scoped_refptr base/memory/scoped_refptr.h:208:0
    #19 0xc90729c in content::ResourceMessageFilter::~ResourceMessageFilter() content/browser/loader/resource_message_filter.cc:68:0
    #20 0xc90747d in content::ResourceMessageFilter::~ResourceMessageFilter() content/browser/loader/resource_message_filter.cc:64:49
    #21 0x107cf025 in Run base/callback.h:96:12
    #22 0x107cf025 in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:101:0
    #23 0x108303b5 in base::MessageLoop::RunTask(base::PendingTask*) base/message_loop/message_loop.cc:319:25
    #24 0x10831624 in DeferOrRunPendingTask base/message_loop/message_loop.cc:329:5
    #25 0x10831624 in base::MessageLoop::DoWork() base/message_loop/message_loop.cc:373:0
    #26 0x109f10d0 in base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_libevent.cc:210:31
    #27 0x108a9fd1 in base::RunLoop::Run() base/run_loop.cc:102:14
    #28 0xc1dd0cd in content::BrowserProcessSubThread::IOThreadRun(base::RunLoop*) content/browser/browser_process_sub_thread.cc:178:11
    #29 0x109326d4 in base::Thread::ThreadMain() base/threading/thread.cc:337:3
    #30 0x109e8a54 in base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:76:13
    #31 0x7f89a0545183 in start_thread /build/eglibc-ripdx6/eglibc-2.19/nptl/pthread_create.c:312:0
previously allocated by thread T0 (browser_tests) here:
    #0 0x5912228 in operator new(unsigned long) _asan_rtl_:0
    #1 0xcf042a7 in content::StoragePartitionImpl::Create(content::BrowserContext*, bool, base::FilePath const&) content/browser/storage_partition_impl.cc:659:43
    #2 0xcf14277 in content::StoragePartitionImplMap::Get(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool) content/browser/storage_partition_impl_map.cc:398:7
    #3 0xc1a8cc1 in content::(anonymous namespace)::GetStoragePartitionFromConfig(content::BrowserContext*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool) content/browser/browser_context.cc:137:25
    #4 0xc1a91ea in GetStoragePartition content/browser/browser_context.cc:286:10
    #5 0xc1a91ea in content::BrowserContext::GetDefaultStoragePartition(content::BrowserContext*) content/browser/browser_context.cc:320:0
    #6 0xd122608 in content::HostZoomMap::GetDefaultForBrowserContext(content::BrowserContext*) content/browser/host_zoom_map_impl.cc:69:7
    #7 0x10fca480 in OffTheRecordProfileImpl::TrackZoomLevelsFromParent() chrome/browser/profiles/off_the_record_profile_impl.cc:235:32
    #8 0x10fca0dc in OffTheRecordProfileImpl::Init() chrome/browser/profiles/off_the_record_profile_impl.cc:170:3
    #9 0x10fcd749 in Profile::CreateOffTheRecordProfile() chrome/browser/profiles/off_the_record_profile_impl.cc:554:12
    #10 0x11006e52 in ProfileImpl::GetOffTheRecordProfile() chrome/browser/profiles/profile_impl.cc:794:32
    #11 0x10a7f5fa in InProcessBrowserTest::CreateIncognitoBrowser(Profile*) chrome/test/base/in_process_browser_test.cc:414:38
    #12 0x5db78d4 in ClientHintsBrowserTest_ClientHintsHttpsIncognito_Test::RunTestOnMainThread() chrome/browser/client_hints/client_hints_browsertest.cc:1097:26
    #13 0x119ce422 in content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() content/public/test/browser_test_base.cc:385:5
    #14 0x10b6f86c in Run base/callback.h:125:12
    #15 0x10b6f86c in ChromeBrowserMainParts::PreMainMessageLoopRunImpl() chrome/browser/chrome_browser_main.cc:2137:0
    #16 0x10b6ca9b in ChromeBrowserMainParts::PreMainMessageLoopRun() chrome/browser/chrome_browser_main.cc:1521:18
    #17 0xc1bb9a7 in content::BrowserMainLoop::PreMainMessageLoopRun() content/browser/browser_main_loop.cc:966:13
    #18 0xceff535 in Run base/callback.h:125:12
    #19 0xceff535 in content::StartupTaskRunner::RunAllTasksNow() content/browser/startup_task_runner.cc:44:0
    #20 0xc1b7316 in content::BrowserMainLoop::CreateStartupTasks() content/browser/browser_main_loop.cc:877:25
    #21 0xc1c3add in content::BrowserMainRunnerImpl::Initialize(content::MainFunctionParams const&, std::__1::unique_ptr<content::BrowserProcessSubThread, std::__1::default_delete<content::BrowserProcessSubThread> >) content/browser/browser_main_runner_impl.cc:148:15
    #22 0xc1b08b1 in content::BrowserMain(content::MainFunctionParams const&, std::__1::unique_ptr<content::BrowserProcessSubThread, std::__1::default_delete<content::BrowserProcessSubThread> >) content/browser/browser_main.cc:47:20
    #23 0x103a5a73 in RunBrowserProcessMain content/app/content_main_runner_impl.cc:620:10
    #24 0x103a5a73 in content::ContentMainRunnerImpl::Run() content/app/content_main_runner_impl.cc:964:0
    #25 0x1637cc13 in service_manager::Main(service_manager::MainParams const&) services/service_manager/embedder/main.cc:459:29
    #26 0x103a0470 in content::ContentMain(content::ContentMainParams const&) content/app/content_main.cc:19:10
    #27 0x119cd089 in content::BrowserTestBase::SetUp() content/public/test/browser_test_base.cc:323:3
    #28 0x10a7ba37 in InProcessBrowserTest::SetUp() chrome/test/base/in_process_browser_test.cc:244:20
    #29 0x9c66082 in testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc:0:0
    #30 0x9c68444 in testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2667:11
    #31 0x9c69856 in testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2785:28
    #32 0x9c8f586 in testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5047:43
    #33 0x9c8e7b2 in testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:0:0
Thread T5 (Chrome_IOThread) created by T0 (browser_tests) here:
    #0 0x580fec1 in __interceptor_pthread_create _asan_rtl_:0
    #1 0x109e7d5e in base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:115:13
    #2 0x109319b3 in base::Thread::StartWithOptions(base::Thread::Options const&) base/threading/thread.cc:112:15
    #3 0xc1dcac8 in content::BrowserProcessSubThread::CreateIOThread() content/browser/browser_process_sub_thread.cc:91:19
    #4 0x103a610f in content::ContentMainRunnerImpl::GetServiceManagerTaskRunnerForEmbedderProcess() content/app/content_main_runner_impl.cc:1000:29
    #5 0x103a0014 in content::ContentServiceManagerMainDelegate::GetServiceManagerTaskRunnerForEmbedderProcess() content/app/content_service_manager_main_delegate.cc:132:32
    #6 0x1637cb8b in service_manager::Main(service_manager::MainParams const&) services/service_manager/embedder/main.cc:456:23
    #7 0x103a0470 in content::ContentMain(content::ContentMainParams const&) content/app/content_main.cc:19:10
    #8 0x119cd089 in content::BrowserTestBase::SetUp() content/public/test/browser_test_base.cc:323:3
    #9 0x10a7ba37 in InProcessBrowserTest::SetUp() chrome/test/base/in_process_browser_test.cc:244:20
    #10 0x9c66082 in testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc:0:0
    #11 0x9c68444 in testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2667:11
    #12 0x9c69856 in testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2785:28
    #13 0x9c8f586 in testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5047:43
    #14 0x9c8e7b2 in testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:0:0
    #15 0x10abebd7 in RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2329:46
    #16 0x10abebd7 in base::TestSuite::Run() base/test/test_suite.cc:275:0
    #17 0x107ad21f in ChromeTestSuiteRunner::RunTestSuite(int, char**) chrome/test/base/chrome_test_launcher.cc:65:38
    #18 0x11a48135 in content::LaunchTests(content::TestLauncherDelegate*, unsigned long, int, char**) content/public/test/test_launcher.cc:625:31
    #19 0x107adffa in LaunchChromeTests(unsigned long, content::TestLauncherDelegate*, int, char**) chrome/test/base/chrome_test_launcher.cc:170:10
    #20 0x107ad01b in main chrome/test/base/browser_tests_main.cc:36:10
    #21 0x7f8999a6ff44 in __libc_start_main /build/eglibc-ripdx6/eglibc-2.19/csu/libc-start.c:287:0
SUMMARY: AddressSanitizer: heap-use-after-free (/b/s/w/ir/out/Release/browser_tests+0xcf51861)
Shadow bytes around the buggy address:
  0x0c1880026d10: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
  0x0c1880026d20: fd fd fd fd fd fd fd fd fa fa fa fa fa fa fa fa
  0x0c1880026d30: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c1880026d40: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
  0x0c1880026d50: fd fd fd fd fd fd fd fd fa fa fa fa fa fa fa fa
=>0x0c1880026d60: fd fd fd fd fd fd fd fd fd fd fd fd fd fd[fd]fd
  0x0c1880026d70: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
  0x0c1880026d80: fd fd fd fd fd fd fd fd fa fa fa fa fa fa fa fa
  0x0c1880026d90: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c1880026da0: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
  0x0c1880026db0: fd fd fd fd fd fd fd fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
Cannot upload crash dump: failed to open
==5382==ABORTING
 

Comment 1 by mmenke@chromium.org, Jun 11 2018

Cc: ryansturm@chromium.org tbansal@chromium.org
Components: -Internals>Network
Client hints isn't owned by the network stack team.
Owner: tbansal@chromium.org
Status: Assigned (was: Untriaged)
Components: -Internals>Services>Network Blink>Loader
Using blink>loader component since that's what I used for other client hints bugs/tracking work.

Comment 4 by r...@chromium.org, Jun 20 2018

This looks like a real memory bug in Chrome, so this is worth prioritizing.

I'll send a CL to disable the test for now, since memory bugs usually result in flakiness in non-ASan configurations.

Comment 5 by r...@chromium.org, Jun 20 2018

We should consider enabling this test suite on the chromium.memory ASan bots, so that these issues are caught when they are introduced.

Comment 6 by thakis@chromium.org, Jun 20 2018

Re 5: Very agree, but it takes nontrivial compute, see issue 852442
Project Member

Comment 7 by bugdroid1@chromium.org, Jun 20 2018

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

commit 06ff38d0251bc6fc1cbc82e21ed0039f5af3162d
Author: Reid Kleckner <rnk@google.com>
Date: Wed Jun 20 18:46:24 2018

Disable network services ClientHintsBrowserTest.ClientHintsHttpsIncognito test

This test causes a use-after-free when network services are enabled.
Disable the test when network services are enabled until the bug is
fixed.

NOTRY=True
TBR=tbansal@chromium.org, thakis@chromium.org
BUG= 850945 

Change-Id: I73526165107c7ecc03c87febbcd772c910177092
Reviewed-on: https://chromium-review.googlesource.com/1108487
Reviewed-by: Reid Kleckner <rnk@chromium.org>
Commit-Queue: Reid Kleckner <rnk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568951}
[modify] https://crrev.com/06ff38d0251bc6fc1cbc82e21ed0039f5af3162d/chrome/browser/client_hints/client_hints_browsertest.cc

I suspect this is because I am calling CreateIncognitoBrowser() twice in the same test, and this function was not supposed to be called twice.
Project Member

Comment 9 by bugdroid1@chromium.org, Jun 27 2018

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

commit e362864444bd2aea69c2d86f14566838f5830f8c
Author: Tarun Bansal <tbansal@chromium.org>
Date: Wed Jun 27 00:53:22 2018

Remove flaky client hints browsertest

Now that we have ClientHintsLifetimeFollowedByNoClientHintIncognito
browser test, we can remove ClientHintsHttpsIncognito test.

The former test covers all of the checks covered by the latter
one, and only creates one incognito browser profile, and so
is expected to be more reliable.

Bug:  850945 
Change-Id: Ibd8095d02b2bc5ab79d6d08812063e4925149375
Reviewed-on: https://chromium-review.googlesource.com/1115974
Reviewed-by: Ryan Sturm <ryansturm@chromium.org>
Commit-Queue: Tarun Bansal <tbansal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#570596}
[modify] https://crrev.com/e362864444bd2aea69c2d86f14566838f5830f8c/chrome/browser/client_hints/client_hints_browsertest.cc

Labels: M-69
Status: Fixed (was: Assigned)

Sign in to add a comment