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

Issue 844572 link

Starred by 2 users

Issue metadata

Status: Duplicate
Merged: issue 869272
Owner:
Email to this user bounced
Closed: Jul 31
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug


Participants' hotlists:
LoginRefresh


Sign in to add a comment

AffliliationCheck/EnterpriseDeviceAttributesTest.Success/1 among others reliably fail

Project Member Reported by jdufault@chromium.org, May 18 2018

Issue description

It looks like 749d2584138a653686af0a2923cbd91cf0480df9 (from  issue 767309 ) causes a number of tests to reliably fail on my machine. The failures seem to be reliable but also racy, as adding base::debug::StackTrace().Print() to the end of ChromeBrowserMainParts::PreMainMessageLoopRunImpl() fixes the test.

The failure also only happens when dchecks are enabled:

  dcheck_always_on = true

The failure can be reproduced as follows:

$ git checkout 749d2584138a653686af0a2923cbd91cf0480df9
$ # compile and build
$ out/Release/browser_tests --gtest_filter=AffiliationCheck/EnterpriseDeviceAttributesTest.Success/1
IMPORTANT DEBUGGING NOTE: each test is run inside its own process.
For debugging a test inside a debugger, use the
--gtest_filter=<your_test_name> flag along with either
--single_process (to run the test in one launcher/browser process) or
--single-process (to do the above, and also run Chrome in single-process mode).
Using sharding settings from environment. This is shard 0/1
Using 1 parallel jobs.
Note: Google Test filter = AffiliationCheck/EnterpriseDeviceAttributesTest.PRE_Success/1
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from AffiliationCheck/EnterpriseDeviceAttributesTest
[ RUN      ] AffiliationCheck/EnterpriseDeviceAttributesTest.PRE_Success/1
[32229:32229:0518/115809.497892:ERROR:input_method_manager_impl.cc(1031)] IMEEngine for "fgoepimhcoialccpbmpnnblemnepkkao" is not registered
[32229:32264:0518/115809.514018:WARNING:child_process_launcher_helper_posix.cc(118)] Ignoring invalid file v8_context_snapshot.bin
[32229:32229:0518/115809.531474:ERROR:color_space.cc(502)] Cannot fetch ICCProfile for invalid space.
[32229:32255:0518/115809.540973:WARNING:freezer_cgroup_process_manager.cc(62)] Cgroup freezer does not exist or is not writable. Unable to freeze renderer processes.
[32229:32229:0518/115809.550471:ERROR:network_profile_handler.cc(83)] Manager properties returned from Shill don't contain the field Profiles
[32229:32229:0518/115809.550843:ERROR:network_sms_handler.cc(414)] NetworkSmsHandler: No list value for: Devices
[32229:32229:0518/115809.552208:WARNING:server_backed_state_keys_broker.cc(77)] Failed to obtain server-backed state keys.
[32229:32229:0518/115809.552340:INFO:remote_commands_service.cc(36)] Fetching remote commands.
[32229:32229:0518/115809.552616:INFO:system_log_uploader.cc(198)] Creating system log uploader.
[32229:32229:0518/115809.552686:INFO:system_log_uploader.cc(340)] Scheduling next system log upload 0 s from now.
[32229:32229:0518/115809.564830:INFO:system_log_uploader.cc(320)] System log upload is disabled, rescheduling.
[32229:32229:0518/115809.564893:INFO:system_log_uploader.cc(340)] Scheduling next system log upload 43200 s from now.
[32229:32266:0518/115809.632978:ERROR:browser_gpu_channel_host_factory.cc(122)] Failed to launch GPU process.
[32229:32267:0518/115809.797167:FATAL:ref_counted.h(83)] Check failed: CalledOnValidSequence().
#0 0x7fd0ff84248c base::debug::StackTrace::StackTrace()
#1 0x7fd0ff868a2c logging::LogMessage::~LogMessage()
#2 0x7fd0fd148b00 base::subtle::RefCountedBase::Release()
#3 0x7fd0fd149bcf _ZZN4base24SequenceLocalStorageSlotI13scoped_refptrIN4mojo18SyncHandleRegistryEENSt3__114default_deleteIS4_EEE3SetES4_ENUlPvE_8__invokeES9_
#4 0x7fd0ff8e08c0 base::internal::SequenceLocalStorageMap::~SequenceLocalStorageMap()
#5 0x7fd0ff8d2472 base::internal::Sequence::~Sequence()
#6 0x7fd0ff8cbfae base::internal::(anonymous namespace)::SchedulerWorkerDelegate::OnMainExit()
#7 0x7fd0ff8cd533 base::internal::SchedulerWorker::Thread::ThreadMain()
#8 0x7fd0ff8dffdf base::(anonymous namespace)::ThreadFunc()
#9 0x7fd0ff97b494 start_thread
#10 0x7fd0f338ba8f clone

[0518/115809.973550:ERROR:kill_posix.cc(83)] Unable to terminate process group 32229: No such process (3)
[1/2] AffiliationCheck/EnterpriseDeviceAttributesTest.Success/1 (SKIPPED)
[2/2] AffiliationCheck/EnterpriseDeviceAttributesTest.PRE_Success/1 (CRASHED)
1 test crashed:



$ git checkout master # commit 5870ee11dd77472290d43bf85ce7d35258f70165
$ out/Release/browser_tests --gtest_filter=AffiliationCheck/EnterpriseDeviceAttributesTest.Success/1
IMPORTANT DEBUGGING NOTE: each test is run inside its own process.
For debugging a test inside a debugger, use the
--gtest_filter=<your_test_name> flag along with either
--single_process (to run the test in one launcher/browser process) or
--single-process (to do the above, and also run Chrome in single-process mode).
Using sharding settings from environment. This is shard 0/1
Using 1 parallel jobs.
Note: Google Test filter = AffiliationCheck/EnterpriseDeviceAttributesTest.PRE_Success/1
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from AffiliationCheck/EnterpriseDeviceAttributesTest
[ RUN      ] AffiliationCheck/EnterpriseDeviceAttributesTest.PRE_Success/1
[141099:141099:0518/122443.171536:ERROR:network_profile_handler.cc(83)] Manager properties returned from Shill don't contain the field Profiles
[141099:141099:0518/122443.172118:ERROR:network_sms_handler.cc(436)] NetworkSmsHandler: No list value for: Devices
[141099:141099:0518/122443.173622:WARNING:server_backed_state_keys_broker.cc(75)] Failed to obtain server-backed state keys.
[141099:141113:0518/122443.258693:ERROR:gpu_process_host.cc(526)] BrowserMainRunner::ExitedMainMessageLoop()
[141099:141113:0518/122443.258742:ERROR:gpu_process_host.cc(526)] BrowserMainRunner::ExitedMainMessageLoop()
[141099:141113:0518/122443.260110:WARNING:discardable_shared_memory_manager.cc(431)] Some MojoDiscardableSharedMemoryManagerImpls are still alive. They will be leaked.
[141099:141177:0518/122443.263422:WARNING:internal_linux.cc(64)] Failed to read /proc/141136/stat
[141099:141130:0518/122443.402467:FATAL:ref_counted.h(83)] Check failed: CalledOnValidSequence().
#0 0x7fe432d5a1cc base::debug::StackTrace::StackTrace()
#1 0x7fe432ca3c7b logging::LogMessage::~LogMessage()
#2 0x7fe43030c610 base::subtle::RefCountedBase::Release()
#3 0x7fe43030eeaf _ZZN4base24SequenceLocalStorageSlotI13scoped_refptrIN4mojo18SyncHandleRegistryEENSt3__114default_deleteIS4_EEE3SetES4_ENUlPvE_8__invokeES9_
#4 0x7fe432d1ad30 base::internal::SequenceLocalStorageMap::~SequenceLocalStorageMap()
#5 0x7fe432d0bba2 base::internal::Sequence::~Sequence()
#6 0x7fe432d044be base::internal::(anonymous namespace)::SchedulerWorkerDelegate::OnMainExit()
#7 0x7fe432d05ba1 base::internal::SchedulerWorker::RunWorker()
#8 0x7fe432d055a4 base::internal::SchedulerWorker::RunBackgroundSharedWorker()
#9 0x7fe432d6d31f base::(anonymous namespace)::ThreadFunc()
#10 0x7fe432dc8494 start_thread
#11 0x7fe4259a4a8f clone

[0518/122443.512201:ERROR:kill_posix.cc(83)] Unable to terminate process group 141099: No such process (3)
[1/2] AffiliationCheck/EnterpriseDeviceAttributesTest.Success/1 (SKIPPED)
[2/2] AffiliationCheck/EnterpriseDeviceAttributesTest.PRE_Success/1 (CRASHED)
1 test crashed:
[0518/122443.513445:FATAL:test_results_tracker.cc(519)] Check failed: location_it != test_locations_.end(). AffiliationCheck/EnterpriseDeviceAttributesTest.PRE_Success/1
#0 0x7fe4706471cc base::debug::StackTrace::StackTrace()
#1 0x7fe470590c7b logging::LogMessage::~LogMessage()
#2 0x0000038f6c2b base::TestResultsTracker::PrintTests<>()
#3 0x0000038f6705 base::TestResultsTracker::PrintSummaryOfCurrentIteration()
#4 0x0000038f17b6 base::TestLauncher::OnTestIterationFinished()
#5 0x0000038f0c32 base::TestLauncher::OnTestFinished()
#6 0x000003e32878 content::(anonymous namespace)::WrapperTestLauncherDelegate::ChildProcessLifetimeObserver::OnCompleted()
#7 0x7fe470573c65 base::debug::TaskAnnotator::RunTask()
#8 0x7fe47059cf69 base::internal::IncomingTaskQueue::RunTask()
#9 0x7fe4705a045b base::MessageLoop::RunTask()
#10 0x7fe4705a07ea base::MessageLoop::DeferOrRunPendingTask()
#11 0x7fe4705a0a4c base::MessageLoop::DoWork()
#12 0x7fe470667479 base::MessagePumpLibevent::Run()
#13 0x7fe47059fe44 base::MessageLoop::Run()
#14 0x7fe4705d1759 base::RunLoop::Run()
#15 0x0000038ee005 base::TestLauncher::Run()
#16 0x000003e3024c content::LaunchTests()
#17 0x00000388ab13 LaunchChromeTests()
#18 0x00000388a5ee main
#19 0x7fe4631c92b1 __libc_start_main
#20 0x0000016c002a _start


 
These tests seem to only be run in the CQ in certain circumstances (ie, when changing login code); this blocks submit. If you don't have time to look at them soon I'm likely going to disable the tests to get unblocked.
Example failing build: https://ci.chromium.org/p/chromium/builders/luci.chromium.try/linux-chromeos-rel/2389

Example test failures:

ManagedWithoutPermission/ManagedWithoutPermissionPlatformKeysTest.UserPermissionsBlocked/2
ManagedWithoutPermission/ManagedWithoutPermissionPlatformKeysTest.UserPermissionsBlocked/0
CheckSystemTokenAvailability/EnterprisePlatformKeysTest.Basic/0
CheckSystemTokenAvailability/EnterprisePlatformKeysTest.Basic/2
CheckSystemTokenAvailability/EnterprisePlatformKeysTest.Basic/3
AffiliationCheck/EnterpriseDeviceAttributesTest.Success/0
AffiliationCheck/EnterpriseDeviceAttributesTest.Success/1
Blub/UnaffiliatedArcAllowedTest.ProfileTest/1
Blub/UnaffiliatedArcAllowedTest.ProfileTest/0
ManagedWithoutPermission/ManagedWithoutPermissionPlatformKeysTest.CorporateKeyAccessBlocked/0
ManagedWithoutPermission/ManagedWithoutPermissionPlatformKeysTest.CorporateKeyAccessBlocked/1
ManagedWithoutPermission/ManagedWithoutPermissionPlatformKeysTest.CorporateKeyAccessBlocked/2
Unmanaged/UnmanagedPlatformKeysTest.Basic/2
Unmanaged/UnmanagedPlatformKeysTest.Basic/3
Unmanaged/UnmanagedPlatformKeysTest.Basic/0
Unmanaged/UnmanagedPlatformKeysTest.Basic/1
Unmanaged/UnmanagedPlatformKeysTest.Permissions/2
Unmanaged/UnmanagedPlatformKeysTest.Permissions/3
Unmanaged/UnmanagedPlatformKeysTest.Permissions/0
ManagedWithPermission/ManagedWithPermissionPlatformKeysTest.PolicyDoesGrantAccessToNonCorporateKey/0
ManagedWithPermission/ManagedWithPermissionPlatformKeysTest.PolicyDoesGrantAccessToNonCorporateKey/1
ManagedWithPermission/ManagedWithPermissionPlatformKeysTest.PolicyGrantsAccessToCorporateKey/1
ManagedWithPermission/ManagedWithPermissionPlatformKeysTest.PolicyGrantsAccessToCorporateKey/0

Comment 3 by ke...@intel.com, May 21 2018

Hi, jdufault@,
Sorry I don't have the ChromeOS environment. I built out and run the browser_test executable on my Ubuntu with "dcheck_always_on = true", and no crash was found.

From the log, I don't know why the CL 749d2584138a653686af0a2923cbd91cf0480df9 causes the crash in real Chromeos device -- my CL is about mojofication of InputService.

By the way, I guess you have verified that those tests work well in the parent of my CL(749d2584138a653686af0a2923cbd91cf0480df9), right?

Comment 4 by ke...@intel.com, May 21 2018

Cc: reillyg@chromium.org
Ke, you can reproduce these tests in a Linux environment by building with the following GN arguments:

target_os = "chromeos"
dcheck_always_on = true

Comment 6 by ke...@intel.com, May 22 2018

Reilly, sorry I didn't describe clearly. My steps(On Ubuntu16.04) are:
1)git checkout 749d2584138a653686af0a2923cbd91cf0480df9
2) set the args.gn as:
  target_os = "chromeos"                                                                                         
  is_debug = false
  is_component_build = true
  dcheck_always_on = true
  enable_nacl = false
3) built out the browser_test, then run: 
./out/cros/browser_test --gtest_filter=AffiliationCheck/EnterpriseDeviceAttributesTest.*
./out/cros/browser_tests --gtest_filter=ManagedWithPermission/ManagedWithPermissionPlatformKeysTest.*
./out/cros/browser_tests --gtest_filter=ManagedWithoutPermission/ManagedWithoutPermissionPlatformKeysTest.*
./out/cros/browser_tests --gtest_filter=Unmanaged/UnmanagedPlatformKeysTest.*

I found all above tests passed.

That's why I guess that the crash only can be reproduced on the real Chromeos device?
I was not running these tests on a Chrome OS device.

jdufault@, do these tests need any additional configuration, such as API keys?
ke.he@, I believe you also need to specify is_debug=true. I tried to repro with is_debug=false and the issue does not happen in that case.

This is the exact config I used:

  is_debug = true
  dcheck_always_on = true
  target_os = "chromeos"
  use_goma = true
  goma_dir = "/work/goma"

> That's why I guess that the crash only can be reproduced on the real Chromeos device?

The crashes happen locally (not on a real device).

> jdufault@, do these tests need any additional configuration, such as API keys?

I don't believe so.
Mergedinto: 869272
Status: Duplicate (was: Assigned)
I'm assuming that this is a duplicate of bug 869272.
Please reopen if you think otherwise.

Sign in to add a comment