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

Issue 756986 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
User never visited
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug

Blocked on:
issue 791610

Blocking:
issue 596344



Sign in to add a comment

Various PlatformSensorAndProvider services_unittests are failing on Win10 bots running on GCE

Project Member Reported by dpranke@chromium.org, Aug 18 2017

Issue description

Howdy. We're attempting to migrate most of the testing load of the windows bots onto GCE bots running Win10.

It appears that there are a number of services_unittests that fail consistently. I don't know if this is a Win10 GCE-specific issue (i.e., something in the emulation or the devices that are available), or a bug in the tests.

https://build.chromium.org/p/chromium.fyi/builders/Chromium%20Win%2010%20GCE%20Tests/builds/59 is a sample failing build:

PlatformSensorAndProviderTestWin.SensorStateChangedToReady
PlatformSensorAndProviderTestWin.CheckDeviceOrientationEulerAnglesReadingConversion
PlatformSensorAndProviderTestWin.CheckMagnetometerReadingConversion
PlatformSensorAndProviderTestWin.CheckDeviceOrientationQuaternionReadingConversion
PlatformSensorAndProviderTestWin.SensorStateChangedToError
PlatformSensorAndProviderTestWin.CheckGyroscopeReadingConversion
PlatformSensorAndProviderTestWin.SensorRemoved
PlatformSensorAndProviderTestWin.SensorStarted
PlatformSensorAndProviderTestWin.CheckAccelerometerReadingConversion

Can someone please take a look? In the meantime, if the fix isn't readily available, would anybody object if we just skipped (disabled) these tests on this bot so that we can green it up?
 

Comment 1 by juncai@chromium.org, Aug 18 2017

I am ok with skipping these tests on GCE bots running Win10 for now, and we will take a look at it.
These tests shouldn't depend on sensor device availability as they are written against mocks of the COM interface used to connect to the platform sensor service.
Cc: alexande...@intel.com
Labels: OS-Windows
Status: Available (was: Untriaged)
I assume we can try this out by running changes against the win10_gce_x64_rel bot.
Yes :).
Blocking: 596344
I haven't been able to reproduce this locally on Win10. I notice that all the tests that fail use base::RunLoop::RunUntilIdle().
I'd guess you'll need to try this on the actual GCE VMs, since we don't see this on the golo-based Win10 machines, either.

Comment 8 by s...@google.com, Sep 7 2017

Lots of tests that call RunUntilIdle are succeeding though. e.g. WakeLockTest.OnWakeLockProviderConnectionError.

It might not repro unless you use GCE, since it passes on non-GCE Win 10:
https://chromium-swarm.appspot.com/task?id=387281f0b7deb510

(or maybe it just passes on version 10586 and fails on 14393)

Comment 9 by s...@google.com, Sep 7 2017

You can use win10-dev-be99687b-us-west1-c-f0sq for the next 48 hours (at which point it will be auto-reclaimed).

IP address is 35.199.133.26 and it should be accessible from corp via RDP (I use remmina from Linux) or SSH. In either case, the user name is "chrome-bot" and the password is on valentine under "Chrome Golo, Perf, GPU bots - chrome-bot".
These tests are failing because the Win10 GCE VMs are running Windows 10 Enterprise N which does not include Windows Media Player. This (apparently) means that the Windows Portable Devices framework is not installed and thus the IPortableDeviceValues COM interface required by the sensor tests is not available.
Owner: s...@google.com
Status: Assigned (was: Available)
We can either switch to the non-N version of Windows 10 or there is a "Media Feature Pack for N edition of Windows 10" which can be installed however I have been unable to do so on the VM above.

Comment 13 by s...@google.com, Sep 8 2017

It looks like WPD might come with the Windows SDK. I will try installing the Windows SDK.
Project Member

Comment 14 by bugdroid1@chromium.org, Sep 8 2017

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

commit 2379e90cc1c6eea76dd871511d3affe7536803fd
Author: Reilly Grant <reillyg@chromium.org>
Date: Fri Sep 08 23:22:35 2017

Catch PlatformSensor::StartSensor failure in Windows tests

This patch fixes a timeout in the PlatformSensorAndProviderTestWin tests
where if PlatformSensor::StartSensors fails the tests will still wait
until SetEventSink is called on the mock ISensor. This does not fix
 issue 756986  but turns a timeout into a proper test failure.

Bug:  756986 
Change-Id: I003023a87de24da3b85c56474f6ae1d96e3db2a9
Reviewed-on: https://chromium-review.googlesource.com/658070
Reviewed-by: Jun Cai <juncai@chromium.org>
Commit-Queue: Reilly Grant <reillyg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#500733}
[modify] https://crrev.com/2379e90cc1c6eea76dd871511d3affe7536803fd/services/device/generic_sensor/platform_sensor_and_provider_unittest_win.cc

Project Member

Comment 15 by bugdroid1@chromium.org, Sep 11 2017

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

commit b53dff9202400a231108ed4e7dd550cbfa229b06
Author: Ben Wells <benwells@chromium.org>
Date: Mon Sep 11 02:11:28 2017

Revert "Catch PlatformSensor::StartSensor failure in Windows tests"

This reverts commit 2379e90cc1c6eea76dd871511d3affe7536803fd.

Reason for revert: PlatformSensor tests are failing on Windows after this change.

First failing build: https://build.chromium.org/p/chromium.win/builders/Win10%20Tests%20x64%20%28GCE%29/builds/47

Sample failure output:
[ RUN      ] PlatformSensorAndProviderTestWin.SensorStateChangedToReady
../../services/device/generic_sensor/platform_sensor_and_provider_unittest_win.cc(530): error: Value of: StartListening(sensor, client.get(), configuration)
  Actual: false
Expected: true
[  FAILED  ] PlatformSensorAndProviderTestWin.SensorStateChangedToReady (5 ms)

Original change's description:
> Catch PlatformSensor::StartSensor failure in Windows tests
> 
> This patch fixes a timeout in the PlatformSensorAndProviderTestWin tests
> where if PlatformSensor::StartSensors fails the tests will still wait
> until SetEventSink is called on the mock ISensor. This does not fix
>  issue 756986  but turns a timeout into a proper test failure.
> 
> Bug:  756986 
> Change-Id: I003023a87de24da3b85c56474f6ae1d96e3db2a9
> Reviewed-on: https://chromium-review.googlesource.com/658070
> Reviewed-by: Jun Cai <juncai@chromium.org>
> Commit-Queue: Reilly Grant <reillyg@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#500733}

TBR=reillyg@chromium.org,juncai@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  756986 
Change-Id: I13134cac7757d598c9f3e50fd198f5915ec7a3d0
Reviewed-on: https://chromium-review.googlesource.com/658004
Reviewed-by: Ben Wells <benwells@chromium.org>
Commit-Queue: Ben Wells <benwells@chromium.org>
Cr-Commit-Position: refs/heads/master@{#500828}
[modify] https://crrev.com/b53dff9202400a231108ed4e7dd550cbfa229b06/services/device/generic_sensor/platform_sensor_and_provider_unittest_win.cc

Project Member

Comment 16 by bugdroid1@chromium.org, Sep 11 2017

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

commit c2e790daf14793ef0c8a63f3a1e2481c5a07d62e
Author: Ben Wells <benwells@chromium.org>
Date: Mon Sep 11 07:25:56 2017

Disable PlatformSensor tests on windows

These tests are consistently timing out on a windows bot.

Bug:  756986 
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Tbr: benwells@chromium.org, mikhail.pozdnyakov@intel.com
Change-Id: I68687a520164e3aebf7296c0ed30d3260c30d94e
Reviewed-on: https://chromium-review.googlesource.com/657795
Reviewed-by: Ben Wells <benwells@chromium.org>
Commit-Queue: Ben Wells <benwells@chromium.org>
Cr-Commit-Position: refs/heads/master@{#500853}
[modify] https://crrev.com/c2e790daf14793ef0c8a63f3a1e2481c5a07d62e/services/device/generic_sensor/platform_sensor_and_provider_unittest_win.cc

Note the test disabling method from #10 (with the filter) didn't seem to be working. I'm disabling these tests on Windows the old fashioned way (in #16)
Project Member

Comment 18 by bugdroid1@chromium.org, Sep 11 2017

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

commit ed6c2adb86ab8a138ee92f4294932fb25bd30ea2
Author: Ben Wells <benwells@chromium.org>
Date: Mon Sep 11 08:48:06 2017

Include comment for disabled tests.

Bug:  756986 
Change-Id: Ib5591f946b334bbece874f5ec34754ddfe42611b
Tbr: benwells@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/659557
Reviewed-by: Ben Wells <benwells@chromium.org>
Commit-Queue: Ben Wells <benwells@chromium.org>
Cr-Commit-Position: refs/heads/master@{#500865}
[modify] https://crrev.com/ed6c2adb86ab8a138ee92f4294932fb25bd30ea2/services/device/generic_sensor/platform_sensor_and_provider_unittest_win.cc

Project Member

Comment 19 by bugdroid1@chromium.org, Sep 11 2017

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

commit cc340d93add859a3dfffc9975c034069a4318f77
Author: Ben Wells <benwells@chromium.org>
Date: Mon Sep 11 09:19:00 2017

Fix incorrect DISABLED test prefix

Bug:  756986 
Tbr: benwells@chromium.org
Change-Id: I2f60c3ceaf920e8b18e35c6964a5ccbde7a64cf1
Reviewed-on: https://chromium-review.googlesource.com/659637
Reviewed-by: Ben Wells <benwells@chromium.org>
Commit-Queue: Ben Wells <benwells@chromium.org>
Cr-Commit-Position: refs/heads/master@{#500871}
[modify] https://crrev.com/cc340d93add859a3dfffc9975c034069a4318f77/services/device/generic_sensor/platform_sensor_and_provider_unittest_win.cc

Project Member

Comment 20 by bugdroid1@chromium.org, Sep 11 2017

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

commit da2b3bfaf64284ec51dfaad3fcc28bf4c0da9665
Author: Reilly Grant <reillyg@chromium.org>
Date: Mon Sep 11 23:33:47 2017

Filter out failing sensor tests on Windows 10 GCE bots

This change reverts the following commits, re-enabling these tests on
Windows while configuring the same test filters for services_unittests
on the Windows 10 GCE bots for the main waterfall as the FYI waterfall
so that they remain disabled where they continue to fail,

* cc340d93add859a3dfffc9975c034069a4318f77
* ed6c2adb86ab8a138ee92f4294932fb25bd30ea2
* c2e790daf14793ef0c8a63f3a1e2481c5a07d62e
* b53dff9202400a231108ed4e7dd550cbfa229b06

Bug:  756986 
Change-Id: I87bb18189cff4bd67cec0c230fd159eb5dfb3e81
Reviewed-on: https://chromium-review.googlesource.com/660420
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Reilly Grant <reillyg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#501097}
[modify] https://crrev.com/da2b3bfaf64284ec51dfaad3fcc28bf4c0da9665/services/device/generic_sensor/platform_sensor_and_provider_unittest_win.cc
[modify] https://crrev.com/da2b3bfaf64284ec51dfaad3fcc28bf4c0da9665/testing/buildbot/chromium.win.json

Project Member

Comment 21 by bugdroid1@chromium.org, Sep 12 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/infra/infra_internal/+/5c6edb538b6498e06f0f3da6983f8a2bc3ed8484

commit 5c6edb538b6498e06f0f3da6983f8a2bc3ed8484
Author: smut <smut@google.com>
Date: Tue Sep 12 23:49:50 2017

Project Member

Comment 22 by bugdroid1@chromium.org, Sep 27 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/infradata/config/+/2fd74021489b75761ce4f2d7727b791fb5d280e0

commit 2fd74021489b75761ce4f2d7727b791fb5d280e0
Author: smut <smut@google.com>
Date: Wed Sep 27 21:46:22 2017

Project Member

Comment 23 by bugdroid1@chromium.org, Oct 9 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/infradata/config/+/7c9b6640b1db0137da47ed72f8100a2236655e9c

commit 7c9b6640b1db0137da47ed72f8100a2236655e9c
Author: smut <smut@google.com>
Date: Mon Oct 09 23:20:33 2017

Comment 24 by s...@google.com, Feb 15 2018

Summary: Various PlatformSensorAndProvider services_unittests are failing on Win10 bots running on GCE (was: Various PlatformSensorAndProvider services_unittests are failing on Win10 bots running on GCE)
Can someone check if these tests work? WPD is installed now.
I created a patch which re-enables these tests however they still appear to fail:

https://chromium-swarm.appspot.com/task?id=3bb462aa670fe110&refresh=10&show_raw=1&wide_logs=true

Comment 26 Deleted

Comment 27 by s...@google.com, Feb 16 2018

Oh wait wrong bug, I got confused. He updated the image for some other bug.

I did respawn the VMs for this. Are we able to tell what's missing and what we can install to fix it?
I'll have to steal a bot and recheck if the failure is caused by the same issue, or put in some CHECKs that will give us a more specific failure message than PlatformSensor::StartListening simply returning false.

The issue before was that the CoCreateInstance call on platform_sensor_reader_win.cc:457 was failing because CLSID_PortableDeviceValues was not available (it is part of the Windows Portable Devices framework).
Project Member

Comment 29 by bugdroid1@chromium.org, Feb 16 2018

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

commit 47275743146039b258748d3892482ef98a75eb3e
Author: Reilly Grant <reillyg@chromium.org>
Date: Fri Feb 16 22:16:35 2018

Log CoCreateInstance failures in //services/device/generic_sensor

The Generic Sensor implementation on Windows depends on certain COM
objects being registered on the system. To assist in debugging issues
with these being missing on (it is believed) Windows 10 N editions this
change adds one-time logging when CoCreateInstance fails.

Bug:  756986 
Change-Id: I159b7b379a94caa6980d17b9e02a61209154eade
Reviewed-on: https://chromium-review.googlesource.com/923383
Commit-Queue: Reilly Grant <reillyg@chromium.org>
Reviewed-by: Robert Liao <robliao@chromium.org>
Reviewed-by: Conley Owens <cco3@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537429}
[modify] https://crrev.com/47275743146039b258748d3892482ef98a75eb3e/services/device/generic_sensor/platform_sensor_provider_win.cc
[modify] https://crrev.com/47275743146039b258748d3892482ef98a75eb3e/services/device/generic_sensor/platform_sensor_reader_win.cc

smut@, I landed a change to log the error from ::CoCreateInstance. It looks like we are still unable to create an instance of PortableDeviceValues:

https://ci.chromium.org/buildbot/tryserver.chromium.win/win10_chromium_x64_rel_ng/84938

Comment 31 by s...@google.com, Feb 17 2018

Blockedon: 791610
Ok, then I think we can just switch to non-N and see what happens. Luckily we already built the new image, I think we just need to respawn the VMs (this is what I was referring to in #26).
Project Member

Comment 32 by bugdroid1@chromium.org, Feb 17 2018

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

commit 0d942004757f1264597a25ed3d9cd4036f34f887
Author: Reilly Grant <reillyg@chromium.org>
Date: Sat Feb 17 03:52:51 2018

Fix crash in PlatformSensorReaderWin::SetReportingInterval

This is a follow-up to r537429 which fixes a crash introduced in
PlatformSensorReaderWin::SetReportingInterval because of a missing
return after logging the failure to instantiate an instance of
IPortableDeviceValues.

The log message is also tweaked to remove an extraneous space.

TBR=cco3@chromium.org

Bug:  756986 
Change-Id: I5e07d365f93dc4d9df75d0ac743138ba3c7437ab
Reviewed-on: https://chromium-review.googlesource.com/924563
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Commit-Queue: Reilly Grant <reillyg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537523}
[modify] https://crrev.com/0d942004757f1264597a25ed3d9cd4036f34f887/services/device/generic_sensor/platform_sensor_provider_win.cc
[modify] https://crrev.com/0d942004757f1264597a25ed3d9cd4036f34f887/services/device/generic_sensor/platform_sensor_reader_win.cc

Status: Fixed (was: Assigned)
Owner: smut@chromium.org
Cc: smut@chromium.org
Cc: -smut@chromium.org
Cc: -s...@google.com

Sign in to add a comment