New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 828479 link

Starred by 1 user

Issue metadata

Status: Untriaged
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Various ChromeOS browser tests have off-the-record RenderProcessHosts that outlive the original profile

Project Member Reported by w...@chromium.org, Apr 3 2018

Issue description

The linux-chromeos-rel bot failed for https://chromium-review.googlesource.com/c/chromium/src/+/989120/2 because of there being |off_the_record_hosts| still in existence when the original profile on which the off-the-record-profile is based, still has active RenderProcessHosts.

e.g. RestoreGeometry/FileManagerBrowserTest.Test/1 failed with:

[22545:22545:0330/201025.112337:FATAL:profile_destroyer.cc(91)] Check failed: off_the_record_hosts_count == 0u (1 vs. 0)
#0 0x00000434660c base::debug::StackTrace::StackTrace()
#1 0x00000436143b logging::LogMessage::~LogMessage()
#2 0x0000047a9cb6 ProfileDestroyer::DestroyProfileWhenAppropriate()
#3 0x0000045d86fa std::__1::__tree<>::destroy()
#4 0x0000045d8649 ProfileManager::~ProfileManager()
#5 0x0000045cfb0e ProfileManager::~ProfileManager()
#6 0x000004741980 BrowserProcessImpl::StartTearDown()
#7 0x0000044a123c ChromeBrowserMainParts::PostMainMessageLoopRun()
#8 0x000001a20e29 chromeos::ChromeBrowserMainPartsChromeos::PostMainMessageLoopRun()
#9 0x000002adcbb5 content::BrowserMainLoop::ShutdownThreadsAndCleanUp()
#10 0x000002adf96f content::BrowserMainRunnerImpl::Shutdown()
#11 0x000002ad8a85 content::BrowserMain()
#12 0x0000042fd2bd content::ContentMainRunnerImpl::Run()
#13 0x0000063cd632 service_manager::Main()
#14 0x0000042fb934 content::ContentMain()
#15 0x0000049960cb content::BrowserTestBase::SetUp()
#16 0x00000445858e InProcessBrowserTest::SetUp()
#17 0x000001e91511 testing::Test::Run()
#18 0x000001e920d0 testing::TestInfo::Run()
#19 0x000001e925b7 testing::TestCase::Run()
#20 0x000001e9daa7 testing::internal::UnitTestImpl::RunAllTests()
#21 0x000001e9d62e testing::UnitTest::Run()
#22 0x00000446d032 base::TestSuite::Run()
#23 0x00000433a155 ChromeTestSuiteRunner::RunTestSuite()
#24 0x0000049b6e97 content::LaunchTests()
#25 0x00000433a614 LaunchChromeTests()
#26 0x00000433a0ee main
#27 0x7f253fdc7f45 __libc_start_main
#28 0x0000005d46da _start

In general Profile lifetime management seems pretty broken at shutdown, e.g. we allow teardown of the off-the-record-profile to be deferred until all RenderProcessHosts using it are gone, but it is owned by its "original" profile and will be destroyed when the original profile is deleted during ProfileManager teardown.
 

Sign in to add a comment