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

Issue 822448 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug

Blocking:
issue 790644



Sign in to add a comment

test_installer fails on LUCI windows 7 bot

Project Member Reported by martiniss@chromium.org, Mar 15 2018

Issue description

The test_installer step is failing on LUCI on "Win7 Tests (1)"

I've done some debugging and found that it can't figure out how to uninstall chrome on a system level once it installs it. You can see this in https://luci-milo.appspot.com/p/chromium/builders/luci.chromium.ci/Win7%20Tests%20%281%29/142

Subsequent builds fail because chrome was never uninstalled on the machine. It tries to run a test to install chrome on a per user basis and fails, because it tries to verify that chrome isn't installed on a system level, and it is, because the previous test failed.

It seems like there should be a step at the beginning of the test to make sure chromium isn't installed anywhere on the bots, so that we start at a known state every time, but maybe I don't understand how the test works.

Anyways, it seems that the chrome install step is failing somehow; the error when running the uninstall_chrome.py script I get (and the build gets) is:

KeyError: 'Registry key HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Chromium is missing'

I looked at the registry on that machine, and that key really is missing. There's a node which looks like it could replace that, but it has Wow6432Node in the name; I have no idea what that means.

The machines seem to be for all intents and purposes identical; they're both Windows 7 SP1, with similar RAM and CPU. My guess is that the old machine has been running long enough that something changed about how we image windows 7 machines, and that is causing issues on the new one. Labs, any ideas here?

Test installer people, do you have any idea why this could be happening? Would definitely appreciate some help here. Not sure if these are the right components, feel free to re-route.
 
Cc: mmeade@chromium.org
cc-ing mmeade@, who is supposedly revamping the mini_installer tests.

Comment 2 by grt@chromium.org, Mar 16 2018

Owner: grt@chromium.org
Status: Started (was: Available)
My psychic debugging powers tell me that this bot is running a 64-bit python.exe, whereas most/all others are running 32-bit python.exe. The problem is that uninstall_chrome.py must include _winreg.KEY_WOW64_64KEY when it opens the uninstall reg key on line 41:

    key = _winreg.OpenKey(root_key, sub_key, 0, _winreg.KEY_QUERY_VALUE)

should be:

    key = _winreg.OpenKey(root_key, sub_key, 0,
                          _winreg.KEY_QUERY_VALUE | _winreg.KEY_WOW64_64KEY)
Project Member

Comment 3 by bugdroid1@chromium.org, Mar 16 2018

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

commit 643f20ffe7f9138815f639ea92e0cf090dc90a30
Author: Greg Thompson <grt@chromium.org>
Date: Fri Mar 16 20:12:37 2018

Make uninstall_chrome.py look in the right registry hive.

When run using a 64-bit build of python.exe, the tool needs to
explicitly look in the 32-bit hive for Chrome's uninstall key.

BUG= 822448 

Change-Id: Icc0274f73411a717878651ec50ad65e7292f3102
Reviewed-on: https://chromium-review.googlesource.com/966444
Commit-Queue: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Stephen Martinis <martiniss@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543800}
[modify] https://crrev.com/643f20ffe7f9138815f639ea92e0cf090dc90a30/chrome/test/mini_installer/uninstall_chrome.py

https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Win7%20Tests%20%281%29/523 (which hasn't run yet) should include #3. I'll check to see what happens on that build. I might need to manually run the uninstall script. 

Comment 5 by grt@chromium.org, Mar 16 2018

The test harness will uninstall Chrome before running the tests. The fix above should help with that. Let's see. If it doesn't, there may be another bug specific to 64-bit python in there.
Oh JK, https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Win7%20Tests%20%281%29/523 won't work. It got an older chromium revision. So sometime today #3 will run and we'll see if it works.
Status: Fie (was: Started)
It passed in https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Win7%20Tests%20%281%29/524 ! Woo, thanks!
Status: Fixed (was: fie)

Comment 9 by grt@chromium.org, Mar 17 2018

Awesome.

Sign in to add a comment