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

Issue 749390 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 1
Type: Bug



Sign in to add a comment

Flaky deadlock in SubprocessMetricsProvider::BrowserChildProcessHostDisconnected

Project Member Reported by erikc...@chromium.org, Jul 27 2017

Issue description

Test: ExtensionDisabledGlobalErrorTest.HigherPermissionsFromSync 

From CQ on https://chromium-review.googlesource.com/c/578482/

https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Ftryserver.chromium.linux%2Flinux_chromium_rel_ng%2F510591%2F%2B%2Frecipes%2Fsteps%2Fsite_per_process_browser_tests__with_patch_%2F0%2Flogs%2FExtensionDisabledGlobalErrorTest.HigherPermissionsFromSync%2F0

"""
[ RUN      ] ExtensionDisabledGlobalErrorTest.HigherPermissionsFromSync
Xlib:  extension "RANDR" missing on display ":99".
[27398:27398:0726/185626.283524:WARNING:password_store_factory.cc(255)] Using basic (unencrypted) store for password storage. See https://chromium.googlesource.com/chromium/src/+/master/docs/linux_password_storage.md for more information about password storage options.
LaunchProcess: failed to execvp:
xdg-desktop-menu
BrowserTestBase received signal: Terminated. Backtrace:
#0 0x000002cb3d47 base::debug::StackTrace::StackTrace()
#1 0x00000333c141 content::(anonymous namespace)::DumpStackTraceSignalHandler()
#2 0x7f284576ccb0 <unknown>
#3 0x7f2845b0cf1a __lll_lock_wait
#4 0x7f2845b08649 _L_lock_909
#5 0x7f2845b08470 __GI___pthread_mutex_lock
#6 0x000002d10b5d base::internal::LockImpl::Lock()
#7 0x000002ceba25 base::StatisticsRecorder::RegisterOrDeleteDuplicateRanges()
#8 0x000002ce3f57 base::PersistentHistogramAllocator::CreateHistogram()
#9 0x000002ce3c27 base::PersistentHistogramAllocator::GetHistogram()
#10 0x000002ce6222 base::GlobalHistogramAllocator::ImportHistogramsToStatisticsRecorder()
#11 0x000002cecb2d base::StatisticsRecorder::ValidateAllHistograms()
#12 0x000002e3574c SubprocessMetricsProvider::MergeHistogramDeltasFromAllocator()
#13 0x000002e356a2 SubprocessMetricsProvider::DeregisterSubprocessAllocator()
#14 0x000002e36087 SubprocessMetricsProvider::BrowserChildProcessHostDisconnected()
#15 0x0000019b52c4 content::(anonymous namespace)::NotifyProcessHostDisconnected()
#16 0x000002cb447b base::debug::TaskAnnotator::RunTask()
#17 0x000002cd3a5a base::MessageLoop::RunTask()
#18 0x000002cd3d92 base::MessageLoop::DeferOrRunPendingTask()
#19 0x000002cd4074 base::MessageLoop::DoWork()
#20 0x000002cd5dda base::(anonymous namespace)::WorkSourceDispatch()
#21 0x7f28446f9e04 g_main_context_dispatch
#22 0x7f28446fa048 <unknown>
#23 0x7f28446fa0ec g_main_context_iteration
#24 0x000002cd5bb6 base::MessagePumpGlib::Run()
#25 0x000002cd361f base::MessageLoop::Run()
#26 0x000002cfd617 base::RunLoop::Run()
#27 0x00000336ad8b content::MessageLoopRunner::Run()
#28 0x00000336b2a0 content::WindowedNotificationObserver::Wait()
#29 0x00000713c67d extensions::ExtensionTestNotificationObserver::Wait()
#30 0x000000f823bf ExtensionBrowserTest::InstallOrUpdateExtension()
#31 0x000000f829dd ExtensionBrowserTest::InstallOrUpdateExtension()
#32 0x000000f919dd ExtensionDisabledGlobalErrorTest_HigherPermissionsFromSync_Test::RunTestOnMainThread()
#33 0x00000333beb1 content::BrowserTestBase::ProxyRunTestOnMainThreadLoop()
#34 0x00000315ad1d ChromeBrowserMainParts::PreMainMessageLoopRunImpl()
#35 0x000003159a6a ChromeBrowserMainParts::PreMainMessageLoopRun()
#36 0x0000019bef8d content::BrowserMainLoop::PreMainMessageLoopRun()
#37 0x000001db5317 content::StartupTaskRunner::RunAllTasksNow()
#38 0x0000019bd1ee content::BrowserMainLoop::CreateStartupTasks()
#39 0x0000019c1ede content::BrowserMainRunnerImpl::Initialize()
#40 0x0000019ba5a2 content::BrowserMain()
#41 0x000002c92a2c content::RunNamedProcessTypeMain()
#42 0x000002c93398 content::ContentMainRunnerImpl::Run()
#43 0x00000493b646 service_manager::Main()
#44 0x000002c91e42 content::ContentMain()
#45 0x00000333bb37 content::BrowserTestBase::SetUp()
#46 0x000002d8c3c2 InProcessBrowserTest::SetUp()
#47 0x000001325b5e testing::Test::Run()
#48 0x000001326680 testing::TestInfo::Run()
#49 0x000001326b67 testing::TestCase::Run()
#50 0x00000132cfd7 testing::internal::UnitTestImpl::RunAllTests()
#51 0x00000132cc63 testing::UnitTest::Run()
#52 0x000002d9f7d4 base::TestSuite::Run()
#53 0x000002ca6e7a ChromeTestSuiteRunner::RunTestSuite()
#54 0x000003364b6d content::LaunchTests()
#55 0x000002ca6de7 main
#56 0x7f2845757f45 __libc_start_main
#57 0x000000559fe0 <unknown>
"""
 
Labels: -Pri-3 Pri-1
Owner: asvitk...@chromium.org
Status: Assigned (was: Untriaged)
Eek! This is caused by my recent instrumentation CL that added the validate call.

Let me try to fix this before tomorrow's canary.
Fix sent to cq: https://chromium-review.googlesource.com/c/588271/

Hopefully it lands before canary is built.
Project Member

Comment 4 by bugdroid1@chromium.org, Jul 27 2017

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

commit 4e5bc10e2ea3c128fee236775da53fdf19ebc0e9
Author: Alexei Svitkine <asvitkine@chromium.org>
Date: Thu Jul 27 13:42:27 2017

Move ImportGlobalPersistentHistograms() outside lock.

This function can create histograms which requires
grabbing the lock, so should not be called under lock.

In particular, previously we would call that function
from begin(), but since that's being done under lock,
this CL moves the call out of begin() and to the callers
of begin() prior to locking.

Hoping to land this before tomorrow's canary as it was made
more likely by https://chromium-review.googlesource.com/586913
which I landed earlier today.

BUG= 749390 

Change-Id: I8f038180f6f54ff21f6b0e33a76747e914987843
Reviewed-on: https://chromium-review.googlesource.com/588271
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Commit-Queue: Alexei Svitkine (OOO July28-Aug6) <asvitkine@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489909}
[modify] https://crrev.com/4e5bc10e2ea3c128fee236775da53fdf19ebc0e9/base/metrics/statistics_recorder.cc
[modify] https://crrev.com/4e5bc10e2ea3c128fee236775da53fdf19ebc0e9/base/metrics/statistics_recorder_unittest.cc

Labels: OS-Windows
Status: Fixed (was: Assigned)

Comment 6 by siggi@chromium.org, Jul 27 2017

Issue 749724 has been merged into this issue.
Merging this to 3168 - today's canary branch, so it can be picked up in a respun canary. (We'll have one for Android at least, not sure about other platforms.)
Project Member

Comment 8 by bugdroid1@chromium.org, Jul 27 2017

Labels: merge-merged-3168
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/39a81875d8f9e78ea93c2125111221b1511c7fd0

commit 39a81875d8f9e78ea93c2125111221b1511c7fd0
Author: Alexei Svitkine <asvitkine@chromium.org>
Date: Thu Jul 27 18:11:55 2017

Move ImportGlobalPersistentHistograms() outside lock.

This function can create histograms which requires
grabbing the lock, so should not be called under lock.

In particular, previously we would call that function
from begin(), but since that's being done under lock,
this CL moves the call out of begin() and to the callers
of begin() prior to locking.

Hoping to land this before tomorrow's canary as it was made
more likely by https://chromium-review.googlesource.com/586913
which I landed earlier today.

BUG= 749390 
TBR=asvitkine@chromium.org

(cherry picked from commit 4e5bc10e2ea3c128fee236775da53fdf19ebc0e9)

Change-Id: I8f038180f6f54ff21f6b0e33a76747e914987843
Reviewed-on: https://chromium-review.googlesource.com/588271
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Commit-Queue: Alexei Svitkine (OOO July28-Aug6) <asvitkine@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#489909}
Reviewed-on: https://chromium-review.googlesource.com/590357
Reviewed-by: Alexei Svitkine (OOO July28-Aug6) <asvitkine@chromium.org>
Cr-Commit-Position: refs/branch-heads/3168@{#5}
Cr-Branched-From: da2455bea333a5a4bfe61ba1fcfe9e325dc368e1-refs/heads/master@{#489803}
[modify] https://crrev.com/39a81875d8f9e78ea93c2125111221b1511c7fd0/base/metrics/statistics_recorder.cc
[modify] https://crrev.com/39a81875d8f9e78ea93c2125111221b1511c7fd0/base/metrics/statistics_recorder_unittest.cc

Sign in to add a comment