FATAL:bluetooth_adapter_bluez.cc(127)] Check failed: profiles_.empty() causing flakiness in browser_tests |
|||||||
Issue descriptionAffiliationCheck/UserAffiliationBrowserTest.PRE_Affiliated/1 is flaky on Linux ChromiumOS bot with low frequency (2 out of last 25 builds). Instances of failure: https://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Tests%20%28dbg%29%281%29/builds/13594 https://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Tests%20%28dbg%29%281%29/builds/13589 Output: =================================== AffiliationCheck/UserAffiliationBrowserTest.PRE_Affiliated/1 (run #1): [ RUN ] AffiliationCheck/UserAffiliationBrowserTest.PRE_Affiliated/1 [26131:26131:0419/015657:WARNING:histogram_base.cc(131)] 45 histograms were created before reporting was enabled. [1:1:0419/015700:ERROR:memory_mapped_file.cc(40)] Couldn't open /tmp/run5orWsa/out/Debug/chrome_material_200_percent.pak [1:1:0419/015700:ERROR:data_pack.cc(80)] Failed to mmap datapack [1:1:0419/015700:ERROR:memory_mapped_file.cc(40)] Couldn't open /tmp/run5orWsa/out/Debug/chrome_200_percent.pak [1:1:0419/015700:ERROR:data_pack.cc(80)] Failed to mmap datapack [1:1:0419/015700:WARNING:histogram_base.cc(131)] 3 histograms were created before reporting was enabled. [26131:26131:0419/015701:ERROR:memory_mapped_file.cc(40)] Couldn't open /tmp/run5orWsa/out/Debug/chrome_material_200_percent.pak [26131:26131:0419/015701:ERROR:data_pack.cc(80)] Failed to mmap datapack [26131:26131:0419/015701:ERROR:memory_mapped_file.cc(40)] Couldn't open /tmp/run5orWsa/out/Debug/chrome_200_percent.pak [26131:26131:0419/015701:ERROR:data_pack.cc(80)] Failed to mmap datapack Xlib: extension "RANDR" missing on display ":9". [26131:26131:0419/015701:INFO:lock_state_controller.cc(95)] Constructing LockStateController instance 0x345945a3c8e0 [26131:26131:0419/015702:WARNING:child_account_service.cc(297)] User instance wasn't found while setting child account flag. [26131:26131:0419/015702:WARNING:message_queue.cc(38)] Leaking 2 ports in unreceived messages [26131:26131:0419/015702:INFO:power_button_observer.cc(37)] Creating PowerButtonObserver 0x345945472920 [26131:26131:0419/015702:INFO:lock_state_controller.cc(235)] LockStateController::OnLoginStateChanged login_status_: 0, status: 0 [26131:26131:0419/015702:ERROR:network_profile_handler.cc(83)] Manager properties returned from Shill don't contain the field Profiles [26131:26131:0419/015702:ERROR:network_sms_handler.cc(417)] NetworkSmsHandler: No list value for: Devices [26131:26131:0419/015702:WARNING:server_backed_state_keys_broker.cc(76)] Failed to obtain server-backed state keys. [26131:26341:0419/015702:WARNING:freezer_cgroup_process_manager.cc(59)] Cgroup freezer does not exist or is not writable. Unable to freeze renderer processes. [26131:26339:0419/015702:ERROR:device_status_collector.cc(125)] Unable to get volume status for /tmp/chromeos/media/archive [26131:26339:0419/015702:ERROR:device_status_collector.cc(125)] Unable to get volume status for /usr/share/oem [26131:26339:0419/015702:ERROR:device_status_collector.cc(125)] Unable to get volume status for /tmp/chromeos/media/removable [26131:26131:0419/015702:WARNING:arc_bluetooth_bridge.cc(681)] no Bluetooth instance available [26131:26131:0419/015702:WARNING:status_uploader.cc(164)] Starting status upload: have_device_status = 1 [26131:26131:0419/015702:WARNING:device_status_collector.cc(648)] Unable to read CPU temp information. [26131:26131:0419/015702:INFO:power_button_observer.cc(69)] Destroying PowerButtonObserver 0x345945472920 [26131:26131:0419/015702:INFO:lock_state_controller.cc(101)] Destroying LockStateController instance 0x345945a3c8e0 [26131:26131:0419/015702:WARNING:pref_notifier_impl.cc(27)] pref observer found at shutdown plugins.always_authorize [26131:26131:0419/015702:WARNING:pref_notifier_impl.cc(27)] pref observer found at shutdown plugins.allow_outdated [26131:26131:0419/015702:WARNING:pref_notifier_impl.cc(27)] pref observer found at shutdown printing.enabled [26131:26131:0419/015702:FATAL:bluetooth_adapter_bluez.cc(127)] Check failed: profiles_.empty(). #0 0x7fccbdc0cc1e base::debug::StackTrace::StackTrace() #1 0x7fccbdc632fc logging::LogMessage::~LogMessage() #2 0x7fccb6eef289 bluez::BluetoothAdapterBlueZ::Shutdown() #3 0x7fccb6ec633a device::BluetoothAdapterFactory::Shutdown() #4 0x000002949a42 chromeos::internal::DBusServices::~DBusServices() #5 0x00000294996b std::default_delete<>::operator()() #6 0x000002945dcc std::unique_ptr<>::reset() #7 0x0000029458ea chromeos::ChromeBrowserMainPartsChromeos::PostDestroyThreads() #8 0x7fccb7cc588c content::BrowserMainLoop::ShutdownThreadsAndCleanUp() #9 0x7fccb7ccdf83 content::BrowserMainRunnerImpl::Shutdown() #10 0x7fccb7cbdba3 content::BrowserMain() #11 0x7fccb7ad3126 content::RunNamedProcessTypeMain() #12 0x7fccb7ad5199 content::ContentMainRunnerImpl::Run() #13 0x7fccb7ad25b2 content::ContentMain() #14 0x00000267ebc3 content::BrowserTestBase::SetUp() #15 0x000002624e48 InProcessBrowserTest::SetUp() #16 0x00000080a74a _ZN7testing8internal12InvokeHelperIvNSt3tr15tupleIJEEEE12InvokeMethodIN10extensions33BluetoothPrivateApiTest_Pair_TestEMNS7_23BluetoothPrivateApiTestEFvvEEEvPT_T0_RKS4_ #17 0x00000282c0be testing::internal::HandleExceptionsInMethodIfSupported<>() #18 0x000002821333 testing::Test::Run() #19 0x000002821aa8 testing::TestInfo::Run() #20 0x00000282204a testing::TestCase::Run() #21 0x00000282739c testing::internal::UnitTestImpl::RunAllTests() #22 0x00000283ce7a testing::internal::HandleSehExceptionsInMethodIfSupported<>() #23 0x00000282d6ee testing::internal::HandleExceptionsInMethodIfSupported<>() #24 0x00000282703f testing::UnitTest::Run() #25 0x000002635611 RUN_ALL_TESTS() #26 0x0000026346f8 base::TestSuite::Run() #27 0x000002588422 ChromeTestSuiteRunner::RunTestSuite() #28 0x000002588509 ChromeTestLauncherDelegate::RunTestSuite() #29 0x000005a360c5 content::LaunchTests() #30 0x000002588839 LaunchChromeTests() #31 0x0000013aed05 main #32 0x7fcca69e676d __libc_start_main #33 0x000000760c85 <unknown>
,
Apr 19 2016
All that CL does is fix a few unused includes. I am not sure how that could introduce any functional changes.
,
Apr 22 2016
This is causing flakiness elsewhere also. Removal of profiles is asynchronous so that DCHECK is not valid (and unnecessary). I will fix it.
,
Apr 22 2016
,
Apr 22 2016
There is clearly a potential edge case here: BluetoothAdapterBlueZ::ReleaseProfile(profile) -> BluetoothAdapterProfileBlueZ::RemoveProfile() -> BluetoothProfileManagerClient::UnregisterProfile() ... asynchronous DBus call ... BluetoothAdapterBlueZ::RemoveProfile() delete profile profiles_.erase(profile->uuid()) If Shutdown() gets called before RemoveProfile() gets called, |profile| will still exist in |profiles_| and the DCHECK will get triggered. The cleanest fix seems to be to move profiles to a separate 'released_profiles_' map in ReleaseProfile() and delete any members of that map in Shutdown(). I should have a CL up shortly.
,
Apr 22 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3bfed672ec31b7f51390da4c6ba260942ea8df25 commit 3bfed672ec31b7f51390da4c6ba260942ea8df25 Author: stevenjb <stevenjb@chromium.org> Date: Fri Apr 22 21:20:06 2016 Bluez: Move released profiles to a separate map. This addresses an edge case where released profiles may not have been removed before Shutdown. See issue for details. BUG= 604710 Review URL: https://codereview.chromium.org/1908253005 Cr-Commit-Position: refs/heads/master@{#389242} [modify] https://crrev.com/3bfed672ec31b7f51390da4c6ba260942ea8df25/device/bluetooth/bluez/bluetooth_adapter_bluez.cc [modify] https://crrev.com/3bfed672ec31b7f51390da4c6ba260942ea8df25/device/bluetooth/bluez/bluetooth_adapter_bluez.h
,
Apr 25 2016
,
Apr 25 2016
,
May 2 2016
,
May 19 2016
as per #6 |
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by msramek@chromium.org
, Apr 19 2016Components: OS>Systems>Bluetooth
Status: Untriaged (was: Started)