New issue
Advanced search Search tips

Issue 716244 link

Starred by 1 user

Issue metadata

Status: Archived
Owner:
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug

Blocked on:
issue 626899



Sign in to add a comment

mash: Period crash for enterprise enrolled device

Project Member Reported by xiy...@chromium.org, Apr 27 2017

Issue description

The crash is in CalculateIdleTime in idle_chromeos.cc which depends on UserActivityDetector [1]. The root is probably from DeviceStatusCollector::CheckIdleState, which runs on an enrolled device.

Program received signal SIGSEGV, Segmentation fault.
CalculateIdleTime () at ../../ui/base/idle/idle_chromeos.cc:15
15        base::TimeDelta idle_time = base::TimeTicks::Now() -
(gdb) bt
#0  CalculateIdleTime () at ../../ui/base/idle/idle_chromeos.cc:15
#1  0x000063bd77988291 in CalculateIdleState () at ../../ui/base/idle/idle.cc:29
#2  0x000063bd76237fae in CheckIdleState () at ../../chrome/browser/chromeos/policy/device_status_collector.cc:533
#3  0x000063bd770dbd53 in Run () at ../../base/callback.h:80
#4  RunScheduledTask () at ../../base/timer/timer.cc:232
#5  0x000063bd77103ea6 in Run () at ../../base/callback.h:91


[1]: https://cs.chromium.org/chromium/src/ui/base/idle/idle_chromeos.cc?rcl=8ba4e2e2f7cab6455607be4902f72379c9e49060&l=16
 
Cc: derat@chromium.org
I also see this on device. We probably need some sort of mirror of user activity state in the browser process. I wonder if ui/base/user_activity should have some sort of mojo interface and/or client library so both ash and browser code can use it.

Received signal 11 SEGV_MAPERR 000000000030
#0 0x7f80d562b8ec base::debug::StackTrace::StackTrace()
#1 0x7f80d562b451 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7f80d2725580 <unknown>
#3 0x7f80d56f1458 ui::CalculateIdleTime()
#4 0x7f80d56f1341 ui::CalculateIdleState()
#5 0x7f80d478b83f policy::DeviceStatusCollector::CheckIdleState()
#6 0x7f80d56931d3 base::Timer::RunScheduledTask()
#7 0x7f80d56bdda6 base::debug::TaskAnnotator::RunTask()
#8 0x7f80d5646dee base::MessageLoop::RunTask()
#9 0x7f80d56471db base::MessageLoop::DeferOrRunPendingTask()
#10 0x7f80d5647860 base::MessageLoop::DoDelayedWork()
#11 0x7f80d5648c6d base::MessagePumpLibevent::Run()
#12 0x7f80d5669280 base::RunLoop::Run()
#13 0x7f80d52b4ab2 ChromeBrowserMainParts::MainMessageLoopRun()

Comment 2 by derat@chromium.org, Jun 19 2017

From blocking issue 626899: "We'll also need to instantiate ui::UserActivityDetector, ui::UserActivityPowerManagerNotifier, and ui::UserActivityForwarder in Chrome-on-mus. Right now, all three are instantiated by ash::Shell (the latter only for mash)."

Is that what we're hitting here? Where's the right place to instantiate these objects?

Comment 3 by xiy...@chromium.org, Jun 19 2017

Yes, the crash is in idle_chromeos.cc CalculateIdleTime [1], where we try to access UserActivityDetector in browser process in mash.

Not sure where is the right place though. Maybe create a UserActivityDetector in chrome_browser_main_extra_parts_ash.cc for the browser process under mash?

[1]: https://cs.chromium.org/chromium/src/ui/base/idle/idle_chromeos.cc?rcl=9d7e219c5242cd3a3cb38c982de807ac52d3e0ee&l=16
Cc: xiy...@chromium.org
Owner: jamescook@chromium.org
Status: Fixed (was: Available)
Fixed by https://chromium-review.googlesource.com/c/540282/

Comment 5 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)
Components: -Internals>MUS Internals>Services>WindowService

Sign in to add a comment