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

Issue 745825 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 1
Type: Bug

Blocking:
issue 731573



Sign in to add a comment

"Failed to delete path" on test_installer under SwarmBucket.

Project Member Reported by d...@chromium.org, Jul 18 2017

Issue description

An example build is: https://luci-milo.appspot.com/swarming/task/376cf93d4b40d110

This build succeeded on BuildBot: https://uberchromegw.corp.google.com/i/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/491314

An excerpt from the failure is:
ChromeUserLevel: no_pv -> install_chrome_user -> chrome_user_installed_not_inuse -> uninstall_chrome_user -> clean
 ... [0717/220906:test_installer.py(144)] Verifying state no_pv
[0717/220906:test_installer.py(110)] Beginning action install_chrome_user
[0717/220912:test_installer.py(113)] Finished action install_chrome_user
[0717/220912:test_installer.py(144)] Verifying state chrome_user_installed_not_inuse
FAIL
[0717/220913.205:ERROR:uninstall.cc(133)] Failed to delete path: C:\Users\chrome-bot\AppData\Local\Chromium\Application\61.0.3160.0\Installer\setup.exe
Traceback (most recent call last):
  File "uninstall_chrome.py", line 68, in <module>
    sys.exit(main())
  File "uninstall_chrome.py", line 63, in main
    'status %d.' % exit_status)
Exception: Could not uninstall Chrome. The installer exited with status 20.
[0717/220913:test_installer.py(233)] Error cleaning up an old install with:
Traceback (most recent call last):
  File "e:\b\s\w\ir\cache\builder\win\src\chrome\test\mini_installer\test_installer.py", line 229, in RunCleanCommand
    RunCommand(command, variable_expander)
  File "e:\b\s\w\ir\cache\builder\win\src\chrome\test\mini_installer\test_installer.py", line 169, in RunCommand
    expanded_command, exit_status))
Exception: Command python uninstall_chrome.py --chrome-long-name="Chromium" --no-error-if-absent   returned non-zero exit status 1

My read on this is that Chrome successfully uninstalled, but that the uninstaller failed to clean up the installer's "setup.exe" afterwards. There aren't really any logs about the reason for this particular failure. The build environment here should be similar to our Windows trybots.

I'm not familiar with the installer, so I'm going to add the Installer component for help figuring out what's wrong here.
 

Comment 1 by d...@chromium.org, Jul 18 2017

Blocking: 731573
Cc: gab@chromium.org robertshield@chromium.org grt@chromium.org
grt / gab / robertshield: any ideas?
Ideas / guesses:
* setup.exe is running for some reason
* something on the system is holding a lock on the setup.exe file (some security software may do this for instance)

Can we get process traces / open handles from bots that fail this test to see if setup.exe is still running or if something has an open handle to it?

Other random thought - the tests themselves don't seem to validate that setup.exe is not running when transitioning between states (they do test if chrome.exe is not running e.g. https://codesearch.chromium.org/chromium/src/chrome/test/mini_installer/config/chrome_system_not_inuse.prop?l=3). Might be worth adding checks for setup.exe to the tests as well. 

Comment 4 by grt@chromium.org, Jul 21 2017

sounds like issue 700809: the uninstaller leaves files behind when TMP is on a different volume than the install location. for the time being, can we keep TMP on C: for these tests?

Comment 5 by d...@chromium.org, Jul 21 2017

ATM the best way to do that is to update the test harness to enforce this.

Example CL for a similar issue encountered in WebKit: https://chromium.googlesource.com/chromium/src/+/9cc81c66fbe4e06f84a5d8647faf1a2fab5ecf38

If you know the test harness code in question here, would you mind making this update? Otherwise, could you point me to it and I'll do the work.

Comment 7 by d...@chromium.org, Jul 26 2017

(Ping)

Comment 8 by grt@chromium.org, Jul 27 2017

Cc: -grt@chromium.org
Owner: grt@chromium.org
Status: Started (was: Untriaged)
Project Member

Comment 9 by bugdroid1@chromium.org, Aug 2 2017

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

commit d67a4a2ec000954c8b66216a3d2952f802be4d72
Author: Greg Thompson <grt@chromium.org>
Date: Wed Aug 02 09:06:26 2017

Force TMP to a directory on the same volume as "Program Files (x86)".

This is a workaround to https://crbug.com/700809.

BUG=700809, 745825 

Change-Id: Ifba9aef86b8218a97d4f5abe1b979fb0305562ab
Reviewed-on: https://chromium-review.googlesource.com/589168
Reviewed-by: Daniel Jacques <dnj@chromium.org>
Reviewed-by: Owen Min <zmin@chromium.org>
Commit-Queue: Greg Thompson <grt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491319}
[modify] https://crrev.com/d67a4a2ec000954c8b66216a3d2952f802be4d72/chrome/test/mini_installer/test_installer.py

Comment 10 by grt@chromium.org, Aug 3 2017

Status: Fixed (was: Started)
I think this is a dup of  issue 699327 . Please let me know if you see the same failures now.

Sign in to add a comment