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

Issue 827082 link

Starred by 2 users

Issue metadata

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

Blocked on:
issue 828582

Blocking:
issue 792131



Sign in to add a comment

test_installer fails when linked with lld

Project Member Reported by h...@chromium.org, Mar 29 2018

Issue description

Example build: https://ci.chromium.org/buildbot/tryserver.chromium.win/win10_chromium_x64_rel_ng/111639

>type out\release\args.gn
use_lld = true
is_debug = false

>ninja -C out\release mini_installer next_version_mini_installer

>python chrome\test\mini_installer\test_installer.py --build-dir c:\src\chromium\src\out --target release
ChromedriverTestUserLevel: no_pv -> install_chrome_user -> chrome_user_installed_not_inuse -> test_chrome_with_chromedriver_user -> chrome_user_installed_not_inuse -> uninstall_chrome_user -> clean
 ... [0329/112107:test_installer.py(133)] Verifying state no_pv
[0329/112107:test_installer.py(100)] Beginning action install_chrome_user
[0329/112109:test_installer.py(103)] Finished action install_chrome_user
[0329/112109:test_installer.py(133)] Verifying state chrome_user_installed_not_inuse
[0329/112110:test_installer.py(100)] Beginning action test_chrome_with_chromedriver_user
[0329/112110:test_installer.py(174)] stdout:
[0329/112110:test_chrome_with_chromedriver.py(119)] Cant find c:\src\chromium\src\out\release\chromedriver.exe. Exiting test_chrome_with_chromedriver
[0329/112110:test_installer.py(103)] Finished action test_chrome_with_chromedriver_user
[0329/112110:test_installer.py(133)] Verifying state chrome_user_installed_not_inuse
[0329/112110:test_installer.py(100)] Beginning action uninstall_chrome_user
[0329/112110:test_installer.py(103)] Finished action uninstall_chrome_user
[0329/112110:test_installer.py(133)] Verifying state clean
ok
ChromeUserLevel: no_pv -> install_chrome_user -> chrome_user_installed_not_inuse -> uninstall_chrome_user -> clean
 ... [0329/112111:test_installer.py(133)] Verifying state no_pv
[0329/112111:test_installer.py(100)] Beginning action install_chrome_user
[0329/112113:test_installer.py(103)] Finished action install_chrome_user
[0329/112113:test_installer.py(133)] Verifying state chrome_user_installed_not_inuse
[0329/112113:test_installer.py(100)] Beginning action uninstall_chrome_user
[0329/112113:test_installer.py(103)] Finished action uninstall_chrome_user
[0329/112113:test_installer.py(133)] Verifying state clean
ok
ChromeUserLevelUpdate: no_pv -> install_chrome_user -> chrome_user_installed_not_inuse -> update_chrome_user -> chrome_user_updated_not_inuse -> uninstall_chrome_user -> clean
 ... [0329/112114:test_installer.py(133)] Verifying state no_pv
[0329/112114:test_installer.py(100)] Beginning action install_chrome_user
[0329/112116:test_installer.py(103)] Finished action install_chrome_user
[0329/112116:test_installer.py(133)] Verifying state chrome_user_installed_not_inuse
[0329/112116:test_installer.py(100)] Beginning action update_chrome_user
ERROR
ChromeSystemLevel: no_pv -> install_chrome_system -> chrome_system_installed_not_inuse -> uninstall_chrome_system -> clean
 ... [0329/112118:test_installer.py(133)] Verifying state no_pv
[0329/112118:test_installer.py(100)] Beginning action install_chrome_system
[0329/112123:test_installer.py(103)] Finished action install_chrome_system
[0329/112123:test_installer.py(133)] Verifying state chrome_system_installed_not_inuse
[0329/112123:test_installer.py(100)] Beginning action uninstall_chrome_system
[0329/112125:test_installer.py(103)] Finished action uninstall_chrome_system
[0329/112125:test_installer.py(133)] Verifying state clean
ok
ChromeSystemLevelUpdate: no_pv -> install_chrome_system -> chrome_system_installed_not_inuse -> update_chrome_system -> chrome_system_updated_not_inuse -> uninstall_chrome_system -> clean
 ... [0329/112126:test_installer.py(133)] Verifying state no_pv
[0329/112126:test_installer.py(100)] Beginning action install_chrome_system
[0329/112129:test_installer.py(103)] Finished action install_chrome_system
[0329/112129:test_installer.py(133)] Verifying state chrome_system_installed_not_inuse
[0329/112129:test_installer.py(100)] Beginning action update_chrome_system
ERROR
MigrateMultiSimple: no_pv -> install_chrome_user -> chrome_user_installed_not_inuse -> make_chrome_user_multi -> chrome_multi_user_installed_not_inuse -> update_chrome_user -> chrome_user_updated_not_inuse -> uninstall_chrome_user -> clean
 ... [0329/112133:test_installer.py(133)] Verifying state no_pv
[0329/112133:test_installer.py(100)] Beginning action install_chrome_user
[0329/112135:test_installer.py(103)] Finished action install_chrome_user
[0329/112135:test_installer.py(133)] Verifying state chrome_user_installed_not_inuse
[0329/112135:test_installer.py(100)] Beginning action make_chrome_user_multi
[0329/112135:test_installer.py(103)] Finished action make_chrome_user_multi
[0329/112135:test_installer.py(133)] Verifying state chrome_multi_user_installed_not_inuse
[0329/112136:test_installer.py(100)] Beginning action update_chrome_user
ERROR
MigrateMultiStrandedBinariesOnUpdate: no_pv -> install_chrome_user -> chrome_user_installed_not_inuse -> make_chrome_user_multi -> chrome_multi_user_installed_not_inuse -> kill_user_chrome -> no_chrome_user -> update_chrome_user -> chrome_user_updated_not_inuse -> uninstall_chrome_user -> clean
 ... [0329/112137:test_installer.py(133)] Verifying state no_pv
[0329/112137:test_installer.py(100)] Beginning action install_chrome_user
[0329/112139:test_installer.py(103)] Finished action install_chrome_user
[0329/112139:test_installer.py(133)] Verifying state chrome_user_installed_not_inuse
[0329/112139:test_installer.py(100)] Beginning action make_chrome_user_multi
[0329/112139:test_installer.py(103)] Finished action make_chrome_user_multi
[0329/112139:test_installer.py(133)] Verifying state chrome_multi_user_installed_not_inuse
[0329/112140:test_installer.py(100)] Beginning action kill_user_chrome
[0329/112140:test_installer.py(172)] stdout:
The operation completed successfully.
[0329/112140:test_installer.py(103)] Finished action kill_user_chrome
[0329/112140:test_installer.py(133)] Verifying state no_chrome_user
[0329/112140:test_installer.py(100)] Beginning action update_chrome_user
ERROR
MigrateMultiStrandedBinariesOnInstall: no_pv -> install_chrome_user -> chrome_user_installed_not_inuse -> make_chrome_user_multi -> chrome_multi_user_installed_not_inuse -> kill_user_chrome -> no_chrome_user -> install_chrome_user -> chrome_user_installed_not_inuse -> uninstall_chrome_user -> clean
 ... [0329/112141:test_installer.py(133)] Verifying state no_pv
[0329/112141:test_installer.py(100)] Beginning action install_chrome_user
[0329/112143:test_installer.py(103)] Finished action install_chrome_user
[0329/112143:test_installer.py(133)] Verifying state chrome_user_installed_not_inuse
[0329/112143:test_installer.py(100)] Beginning action make_chrome_user_multi
[0329/112143:test_installer.py(103)] Finished action make_chrome_user_multi
[0329/112143:test_installer.py(133)] Verifying state chrome_multi_user_installed_not_inuse
[0329/112143:test_installer.py(100)] Beginning action kill_user_chrome
[0329/112143:test_installer.py(172)] stdout:
The operation completed successfully.
[0329/112143:test_installer.py(103)] Finished action kill_user_chrome
[0329/112143:test_installer.py(133)] Verifying state no_chrome_user
[0329/112143:test_installer.py(100)] Beginning action install_chrome_user
[0329/112145:test_installer.py(103)] Finished action install_chrome_user
[0329/112145:test_installer.py(133)] Verifying state chrome_user_installed_not_inuse
[0329/112146:test_installer.py(100)] Beginning action uninstall_chrome_user
[0329/112146:test_installer.py(103)] Finished action uninstall_chrome_user
[0329/112146:test_installer.py(133)] Verifying state clean
ok
MigrateMultiNoBinaries: no_pv -> install_chrome_user -> chrome_user_installed_not_inuse -> make_chrome_user_multi -> chrome_multi_user_installed_not_inuse -> kill_user_binaries -> no_chrome_user_binaries -> update_chrome_user -> chrome_user_updated_not_inuse -> uninstall_chrome_user -> clean
 ... [0329/112146:test_installer.py(133)] Verifying state no_pv
[0329/112146:test_installer.py(100)] Beginning action install_chrome_user
[0329/112148:test_installer.py(103)] Finished action install_chrome_user
[0329/112148:test_installer.py(133)] Verifying state chrome_user_installed_not_inuse
[0329/112148:test_installer.py(100)] Beginning action make_chrome_user_multi
[0329/112149:test_installer.py(103)] Finished action make_chrome_user_multi
[0329/112149:test_installer.py(133)] Verifying state chrome_multi_user_installed_not_inuse
[0329/112149:test_installer.py(100)] Beginning action kill_user_binaries
[0329/112149:test_installer.py(172)] stdout:
The operation completed successfully.
[0329/112149:test_installer.py(103)] Finished action kill_user_binaries
[0329/112149:test_installer.py(133)] Verifying state no_chrome_user_binaries
[0329/112149:test_installer.py(100)] Beginning action update_chrome_user
ERROR

======================================================================
ERROR: ChromeUserLevelUpdate: no_pv -> install_chrome_user -> chrome_user_installed_not_inuse -> update_chrome_user -> chrome_user_updated_not_inuse -> uninstall_chrome_user -> clean

----------------------------------------------------------------------
Traceback (most recent call last):
  File "chrome\test\mini_installer\test_installer.py", line 102, in runTest
    self._config.actions[action], self._variable_expander)
  File "chrome\test\mini_installer\test_installer.py", line 177, in RunCommand
    expanded_command, returncode))
Exception: Command "c:\src\chromium\src\out\release\next_version_mini_installer.exe" --verbose-logging --do-not-launch-chrome returned non-zero exit status -1073741800

======================================================================
ERROR: ChromeSystemLevelUpdate: no_pv -> install_chrome_system -> chrome_system_installed_not_inuse -> update_chrome_system -> chrome_system_updated_not_inuse -> uninstall_chrome_system -> clean

----------------------------------------------------------------------
Traceback (most recent call last):
  File "chrome\test\mini_installer\test_installer.py", line 102, in runTest
    self._config.actions[action], self._variable_expander)
  File "chrome\test\mini_installer\test_installer.py", line 177, in RunCommand
    expanded_command, returncode))
Exception: Command "c:\src\chromium\src\out\release\next_version_mini_installer.exe" --verbose-logging --system-level --do-not-launch-chrome returned non-zero exit status -1073741800

======================================================================
ERROR: MigrateMultiSimple: no_pv -> install_chrome_user -> chrome_user_installed_not_inuse -> make_chrome_user_multi -> chrome_multi_user_installed_not_inuse -> update_chrome_user -> chrome_user_updated_not_inuse -> uninstall_chrome_user -> clean

----------------------------------------------------------------------
Traceback (most recent call last):
  File "chrome\test\mini_installer\test_installer.py", line 102, in runTest
    self._config.actions[action], self._variable_expander)
  File "chrome\test\mini_installer\test_installer.py", line 177, in RunCommand
    expanded_command, returncode))
Exception: Command "c:\src\chromium\src\out\release\next_version_mini_installer.exe" --verbose-logging --do-not-launch-chrome returned non-zero exit status -1073741800

======================================================================
ERROR: MigrateMultiStrandedBinariesOnUpdate: no_pv -> install_chrome_user -> chrome_user_installed_not_inuse -> make_chrome_user_multi -> chrome_multi_user_installed_not_inuse -> kill_user_chrome -> no_chrome_user -> update_chrome_user -> chrome_user_updated_not_inuse -> uninstall_chrome_user -> clean

----------------------------------------------------------------------
Traceback (most recent call last):
  File "chrome\test\mini_installer\test_installer.py", line 102, in runTest
    self._config.actions[action], self._variable_expander)
  File "chrome\test\mini_installer\test_installer.py", line 177, in RunCommand
    expanded_command, returncode))
Exception: Command "c:\src\chromium\src\out\release\next_version_mini_installer.exe" --verbose-logging --do-not-launch-chrome returned non-zero exit status -1073741800

======================================================================
ERROR: MigrateMultiNoBinaries: no_pv -> install_chrome_user -> chrome_user_installed_not_inuse -> make_chrome_user_multi -> chrome_multi_user_installed_not_inuse -> kill_user_binaries -> no_chrome_user_binaries -> update_chrome_user -> chrome_user_updated_not_inuse -> uninstall_chrome_user -> clean

----------------------------------------------------------------------
Traceback (most recent call last):
  File "chrome\test\mini_installer\test_installer.py", line 102, in runTest
    self._config.actions[action], self._variable_expander)
  File "chrome\test\mini_installer\test_installer.py", line 177, in RunCommand
    expanded_command, returncode))
Exception: Command "c:\src\chromium\src\out\release\next_version_mini_installer.exe" --verbose-logging --do-not-launch-chrome returned non-zero exit status -1073741800

----------------------------------------------------------------------
Ran 9 tests in 43.404s

FAILED (errors=5)




It seems that next_version_mini_installer.exe simply doesn't load. When I run it manually I get a popup with "The application was unable to start correctly (0xc0000018)."
 

Comment 1 by h...@chromium.org, Mar 29 2018

next_version_mini_installer.exe is generated by chrome/installer/test/alternate_version_generator.cc

Comment 2 by h...@chromium.org, Mar 29 2018

This is what alternate_version_generator.cc does as far as I can tell:

It copies mini_installer.exe to a temporary directory.
There is extracts setup.ex_ and chrome.packed.7z, which are resources inside mini_installer.exe.

It unpacks those files.

Then it updates the version info on all exe and dll files in the temporary dir, i.e. both mini_installer.exe itself, setup.exe and whatever dlls and stuff were inside chrome.packed.7z.

Then it packs up setup.exe and chrome.packed.7z again.

Once done, it uses UpdateResource to put the new setup.ex_ and chrome.packed.7z into mini_installer.exe as updated resources.

Finally, it copies mini_installer.exe from the temporary dir to next_version_mini_installer.exe in the build dir.


It seems there are two things that can go wrong: updating the version info, and stuffing the files back in the exe via UpdateResource.

I believe it's the latter that's causing the brokenness. Even if I comment out the version-changing code, next_version_mini_installer.exe ends up being broken:

git diff
diff --git a/chrome/installer/test/alternate_version_generator.cc b/chrome/installer/test/alternate_version_generator.ccindex 8e83f3690a50..888054d4413f 100644
--- a/chrome/installer/test/alternate_version_generator.cc
+++ b/chrome/installer/test/alternate_version_generator.cc
@@ -1,3 +1,6 @@
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wunused"
+
 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
@@ -674,9 +677,11 @@ bool GenerateAlternateVersion(const base::FilePath& original_installer_path,
     return false;
   }

+#if 0
   // Increment the version in all files.
   ApplyAlternateVersion(work_dir.directory(), direction, original_version,
                         new_version);
+#endif

   // Pack up files into chrome.7z
   if (!CreateArchive(chrome_7z, work_dir.directory().Append(&kChromeBin[0]), 0))


ninja -C out\release\ -j800 next_version_mini_installer
out\release\next_version_mini_installer.exe
(fails with 0xc0000018)


Just looking at the headers suggests the file is broken:

dumpbin /headers out\release\mini_installer.exe > \src\tmp\a.txt
dumpbin /headers out\release\next_version_mini_installer.exe > \src\tmp\b.txt
diff -u \src\tmp\a.txt \src\tmp\b.txt

--- \src\tmp\a.txt      Thu Mar 29 14:52:23 2018
+++ \src\tmp\b.txt      Thu Mar 29 14:52:32 2018
@@ -2,7 +2,7 @@
 Copyright (C) Microsoft Corporation.  All rights reserved.


-Dump of file out\release\mini_installer.exe
+Dump of file out\release\next_version_mini_installer.exe

 PE signature found

@@ -23,18 +23,18 @@
              20B magic # (PE32+)
            14.00 linker version
             3800 size of code
-        1B882000 size of initialized data
+        1B859400 size of initialized data
                0 size of uninitialized data
-        1B887000 entry point (000000015B887000) MainEntryPoint
+        1B887000 entry point (000000015B887000)
         1B887000 base of code
-       140000000 image base (0000000140000000 to 000000015B88DFFF)
+       140000000 image base (0000000140000000 to 000000015B865FFF)
             1000 section alignment
              200 file alignment
             5.02 operating system version
             0.00 image version
             5.02 subsystem version
                0 Win32 version
-        1B88E000 size of image
+        1B866000 size of image
              400 size of headers
                0 checksum
                2 subsystem (Windows GUI)
@@ -51,10 +51,10 @@
               10 number of directories
                0 [       0] RVA [size] of Export Directory
         1B88C000 [      50] RVA [size] of Import Directory
-            7000 [1B87FCC4] RVA [size] of Resource Directory
+            7000 [1B857194] RVA [size] of Resource Directory


Oops, it looks like the entry point got lost at least?

So is lld doing something different to the exe file that makes UpdateResource break the file?

Comment 3 by h...@chromium.org, Mar 29 2018

It's not trivially broken at least..


\src\tmp\hello.rc:

42	RCDATA { "Hello, world!\n\0" }


\src\tmp\hello.cc:

#define STRING_ID 42

#include <windows.h>
#include <stdio.h>

int main() {
    HRSRC ri = FindResource(NULL, MAKEINTRESOURCE(STRING_ID), RT_RCDATA);
    if (!ri) return 1;

    HGLOBAL h = LoadResource(NULL, ri);
    if (!h) return 2;

    printf("%s", (char*)LockResource(h));
    return 0;
}


\src\tmp\update.cc:

#define STRING_ID 42

#include <windows.h>
#include <stdio.h>

int main() {
    HANDLE h = BeginUpdateResource("hello.exe", FALSE);
    if (!h) return 1;

    char new_str[] = "Hi there! How's it going?\n";

    BOOL res = UpdateResource(h, RT_RCDATA, MAKEINTRESOURCE(STRING_ID),
            MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL),
            new_str, sizeof(new_str) + 1);
    if (!res) return 2;

    if (!EndUpdateResource(h, FALSE)) return 3;

    printf("update successful\n");
    return 0;
}


> rc \src\tmp\hello.rc
> cl -c \src\tmp\hello.cc
> bin\lld-link hello.obj \src\tmp\hello.res
> hello.exe
Hello, world!
> cl \src\tmp\update.cc && update.exe
update successful
> hello.exe
Hi there! How's it going?
Project Member

Comment 4 by bugdroid1@chromium.org, Mar 29 2018

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

commit 2a1e0f88dbefa67ce4832b8b59c788e4b48bfaae
Author: Nico Weber <thakis@chromium.org>
Date: Thu Mar 29 23:44:21 2018

Run more tests on the clang tot bots.

In particular, if it runs on the main waterfall, it should also run
on the tot bots.

Adds app_shell_unittests, aura_unittests, chrome_elf_import_unittests,
compositor_unittests, install_static_unittests, mini_installer_tests,
wm_unittests.

Don't run mini_installer_tests on the cross bot due to
next_version_mini_installer.exe not yet working there.

Bug:  827075 , 827082 ,799827
Change-Id: Iffe1cf0be5a95892988aab93feefecf2c5b48cbd
Reviewed-on: https://chromium-review.googlesource.com/986679
Reviewed-by: Reid Kleckner <rnk@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547025}
[modify] https://crrev.com/2a1e0f88dbefa67ce4832b8b59c788e4b48bfaae/testing/buildbot/chromium.clang.json
[modify] https://crrev.com/2a1e0f88dbefa67ce4832b8b59c788e4b48bfaae/testing/buildbot/chromium.fyi.json
[modify] https://crrev.com/2a1e0f88dbefa67ce4832b8b59c788e4b48bfaae/testing/buildbot/test_suite_exceptions.pyl
[modify] https://crrev.com/2a1e0f88dbefa67ce4832b8b59c788e4b48bfaae/testing/buildbot/test_suites.pyl

Project Member

Comment 5 by bugdroid1@chromium.org, Mar 30 2018

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

commit 4213772ef066c8e5a7f1778c0af9ead67c920496
Author: Nico Weber <thakis@chromium.org>
Date: Fri Mar 30 12:21:25 2018

Remove mini_installer_tests from clang bots again.

Reverts parts of https://chromium-review.googlesource.com/986679

The mini_installer_tests target is presently broken; the way to run
test_installer.py on our bots is through a recipe change instead. See
https://chromium-review.googlesource.com/c/chromium/src/+/969955#message-f263604fa43ca525be504790beae0fd9c7668e7e

TBR=rnk@chromium.org

Bug:  827082 
Change-Id: I747f115b03c817866e96238c3d216e5570eb5522
Reviewed-on: https://chromium-review.googlesource.com/987517
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547143}
[modify] https://crrev.com/4213772ef066c8e5a7f1778c0af9ead67c920496/testing/buildbot/chromium.clang.json
[modify] https://crrev.com/4213772ef066c8e5a7f1778c0af9ead67c920496/testing/buildbot/chromium.fyi.json
[modify] https://crrev.com/4213772ef066c8e5a7f1778c0af9ead67c920496/testing/buildbot/test_suites.pyl

Comment 6 by r...@chromium.org, Apr 3 2018

Blocking: 828582

Comment 7 by h...@chromium.org, Apr 4 2018

Status: Started (was: Available)
I think I understand what's going on and have a small repro.

With the attached files:

rc \src\tmp\hello.rc && cl -c -Ox \src\tmp\hello.cc && bin\lld-link hello.obj \src\tmp\hello.res
cl \src\tmp\update.cc && update.exe

Running hello.exe now fails with 0xc0000018.


Looking at "dumpbin /headers hello.exe" before and after updating the resources with update.exe shows the problem. lld-link lays out the executable with .rsrc followed by .text. When updating the resources, the size of .rsrc is shrunk significantly. The later sections, including .text, are moved to lower RVAs accordingly, but the Entry Point field doesn't get updated, so it now ends up pointing past the last section, causing the load error.

The fix would be to emit .rsrc later in the file. I'll prepare a patch.
hello.cc
310 bytes View Download
update.cc
501 bytes View Download
hello.rc
19.7 KB View Download

Comment 8 by h...@chromium.org, Apr 4 2018

Owner: h...@chromium.org
Patch: https://reviews.llvm.org/D45260

Comment 9 by h...@chromium.org, Apr 5 2018

Blockedon: 828582
Blocking: -828582
That and some follow-ups landed. r329227 would be a good roll target.
Project Member

Comment 10 by bugdroid1@chromium.org, Apr 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/338ca9b7ccdbfd6d9652ca20c7134647c507b21d

commit 338ca9b7ccdbfd6d9652ca20c7134647c507b21d
Author: Nico Weber <thakis@chromium.org>
Date: Thu Apr 05 16:01:43 2018

Run test_installer.py on the chromium.clang win bots, attempt 2.

Looks like this test needs to be configured recipes-side instead
of src-side.

See also https://chromium-review.googlesource.com/987517

Bug:  827082 
Change-Id: I3a5bcb3fdd6c83e168b23f15fd13a3e04849e374
Reviewed-on: https://chromium-review.googlesource.com/987913
Reviewed-by: Hans Wennborg <hans@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>

[modify] https://crrev.com/338ca9b7ccdbfd6d9652ca20c7134647c507b21d/scripts/slave/recipe_modules/chromium_tests/chromium_clang.py

Comment 11 by h...@chromium.org, Apr 6 2018

Got a green test_installer run here:
https://ci.chromium.org/buildbot/chromium.clang/CrWinClangLLD64/487

Comment 12 by h...@chromium.org, Apr 6 2018

The test fails on this bot though:
https://ci.chromium.org/buildbot/chromium.clang/CrWinClngLLDdbg/480



I think we don't build next_version_mini_installer in 32-bit debug builds: (chrome/installer/mini_installer/BUILD.gn)

# next_version_mini_installer.exe can't be generated in an x86 Debug component
# build because it requires too much memory.
# TODO(thakis): Enable this in cross builds, https://crbug.com/799827
if (!(is_component_build && is_debug && target_cpu == "x86") &&
    host_os == "win") {
  action("next_version_mini_installer") {
Sounds like the "fix" is to not run the test on that bot then, yes? I'll make a cl.

Comment 14 by h...@chromium.org, Apr 6 2018

Yes. Thanks!
Project Member

Comment 15 by bugdroid1@chromium.org, Apr 6 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/cd0d098cfc259aa30458804ec621a6894b8fe7c6

commit cd0d098cfc259aa30458804ec621a6894b8fe7c6
Author: Nico Weber <thakis@chromium.org>
Date: Fri Apr 06 13:03:29 2018

Don't run test_installer.py on 32-bit debug bots or on the cross bot.

next_version_mini_installer isn't hooked up in the build in 32-bit debug
and in cross builds, so the test can't pass there.

Reverts parts of https://chromium-review.googlesource.com/c/chromium/tools/build/+/987913

Bug:  827082 , 799827
Change-Id: Ie57e96a7db58e4715434d9988609856c39d9ec8e
Reviewed-on: https://chromium-review.googlesource.com/999319
Reviewed-by: Hans Wennborg <hans@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>

[modify] https://crrev.com/cd0d098cfc259aa30458804ec621a6894b8fe7c6/scripts/slave/recipe_modules/chromium_tests/chromium_clang.py

Project Member

Comment 16 by bugdroid1@chromium.org, Apr 16 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/5b8ece0ca2534f87fe5527f6ba5ce2c2d9969381

commit 5b8ece0ca2534f87fe5527f6ba5ce2c2d9969381
Author: Nico Weber <thakis@chromium.org>
Date: Mon Apr 16 16:12:31 2018

Remove test_installer from win/asan bots again.

They don't pass there, see first bug below.

Bug: 833411, 827082 
Change-Id: Ic0acb2c9c67b7c3d6d8019f6467418f2fe31d555
Reviewed-on: https://chromium-review.googlesource.com/1014025
Reviewed-by: Hans Wennborg <hans@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>

[modify] https://crrev.com/5b8ece0ca2534f87fe5527f6ba5ce2c2d9969381/scripts/slave/recipe_modules/chromium_tests/chromium_clang.py

Status: Fixed (was: Started)

Sign in to add a comment