Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Starred by 0 users
Status: Fixed
Owner:
Closed: Dec 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment
build_packages error due to authpolicy on x86-generic
Project Member Reported by achuith@chromium.org, Dec 1 2016 Back to list
First failing build:
https://uberchromegw.corp.google.com/i/chromiumos.chromium/builders/x86-generic-tot-chromium-pfq-informational/builds/10396

CLs:
https://chromium-review.googlesource.com/#/c/415324/
https://chromium-review.googlesource.com/#/c/414871/

Log snippet:
authpolicy-0.0.1-r59: [31/36] CXX obj/authpolicy/policy/libauthpolicy.preg_parser.o
authpolicy-0.0.1-r59: FAILED: i686-pc-linux-gnu-g++ -MMD -MF obj/authpolicy/policy/libauthpolicy.preg_parser.o.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Iobj/authpolicy/libauthpolicy.gen/include -Igen/include -I/mnt/host/source/src/platform2 -I/mnt/host/source/src/platform -I/build/x86-generic/usr/include -Igen -Wall -Wno-psabi -ggdb3 -fstack-protector-strong -Wformat=2 -fvisibility=internal -Wa,--noexecstack -Werror --sysroot=/build/x86-generic -DDBUS_API_SUBJECT_TO_CHANGE -DUSE_RTTI_FOR_TYPE_TAGS -Wno-c++11-extensions -Wno-unused-local-typedefs -DBASE_VER=395517 -pthread -I/build/x86-generic/usr/include/dbus-c++-1 -I/build/x86-generic/usr/include/chromeos -I/build/x86-generic/usr/include/base-395517 -I/build/x86-generic/usr/include/glib-2.0 -I/build/x86-generic/usr/lib/glib-2.0/include -I/build/x86-generic/usr/include/dbus-1.0 -I/build/x86-generic/usr/lib/dbus-1.0/include -I/build/x86-generic/usr/include/nss -I/build/x86-generic/usr/include/nspr -fPIE -std=gnu++11 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -O2 -march=i686 -pipe -O2 -march=i686 -pipe -O2 -pipe -march=i686 -mfpmath=sse -mmmx -msse -msse2 -msse3 -g -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -clang-syntax -clang-syntax -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables  -c ../../../../../../../../../mnt/host/source/src/platform2/authpolicy/policy/preg_parser.cc -o obj/authpolicy/policy/libauthpolicy.preg_parser.o
authpolicy-0.0.1-r59: ../../../../../../../../../mnt/host/source/src/platform2/authpolicy/policy/preg_parser.cc: In function 'int policy::preg_parser::NextChar(const uint8_t**, const uint8_t*)':
authpolicy-0.0.1-r59: ../../../../../../../../../mnt/host/source/src/platform2/authpolicy/policy/preg_parser.cc:83:39: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
authpolicy-0.0.1-r59:    if (*cursor >= end || end - *cursor < sizeof(base::char16))
authpolicy-0.0.1-r59:                                        ^
authpolicy-0.0.1-r59: ../../../../../../../../../mnt/host/source/src/platform2/authpolicy/policy/preg_parser.cc: In function 'bool policy::preg_parser::ReadFieldBinary(const uint8_t**, const uint8_t*, uint32_t, uint8_t*)':
authpolicy-0.0.1-r59: ../../../../../../../../../mnt/host/source/src/platform2/authpolicy/policy/preg_parser.cc:100:39: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
authpolicy-0.0.1-r59:    if (*cursor >= end || end - *cursor < size)
authpolicy-0.0.1-r59:                                        ^
authpolicy-0.0.1-r59: At global scope:
authpolicy-0.0.1-r59: cc1plus: error: unrecognized command line option "-Wno-c++11-extensions" [-Werror]
authpolicy-0.0.1-r59: cc1plus: all warnings being treated as errors
 
This build breakage seems to only be on x86-generic.
Summary: build_packages error due to authpolicy on x86-generic (was: build_packages error due to authpolicy)
I wonder why this could pass through the commit queue.  Do we need to update CQ configuration when adding a new package to Chrome OS?
Guess this bot is not in the chromium-os commit queue?
I guess I'm just too used to the Chrome world where CQ does a very good job at blocking breaking changes.  Very sad that we don't have that for CrOS.
Cc: dshi@chromium.org
Comment 8 by dshi@chromium.org, Dec 2 2016
Cc: akes...@chromium.org dgarr...@chromium.org
+dgarrett, akeshet

What we can do to increase CQ coverage for such bug?
Cc: steve...@chromium.org
We do have x86-generic-paladin in the CQ https://uberchromegw.corp.google.com/i/chromiumos/builders/x86-generic-paladin

However, it doesn't protect against chromeos-chrome ebuild changes. That is the job of the chrome pfq.
The Chrome PFQ has amd64-generic-chromium-pfq, and arm-generic-chromium-pfq builders, but not x86-generic. So.... what's the different between x86-generic and amd64-generic? 32 vs 64 bit?

If so, that's big enough that we might want to add x86-generic to the PFQ.
We do have x86-alex-chrome-pfq and x86-generic-chromium-pfq.
To clarify what I meant:
 - the chromeos-chrome ebuild change landed via the CQ. However, the CQ doesn't actually test it because it does not uprev chrome. That is normal, and WAI.
 - After it landed, the change seems to have broken the chrome-pfq and chrome-pfq informational builders, because they do uprev chrome.

As far as I can see, this change only broke the chrome-pfq / chrome-pfq-informational builders, not canaries or CQ.
So it sounds like the PFQ did catch this (sorry, I haven't been actively paying attention to the bug), in which case that is pretty much exactly the kind of breakage that the PFQ is designed to protect against :)

I'd still argue that this is a bit unexpected - I think people are used to chrome CL's running afoul of the PFQ, and the simple chrome VMtest project I'm working on addresses this very issue. 

But it's strange when your chromium-os CL passes the CQ and later fails in the PFQ, when it was actually possible for a trybot to verify that this CL would fail.

I'm not saying this needs to be addressed since it seems to be a corner case with the chrome ebuild.
Project Member Comment 15 by bugdroid1@chromium.org, Dec 7 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/c041ab8b332d0f4341936b4b65ca0b2ab159f0e1

commit c041ab8b332d0f4341936b4b65ca0b2ab159f0e1
Author: Lutz Justen <ljusten@chromium.org>
Date: Fri Dec 02 08:38:14 2016

Reland "Turn authpolicy on for everything except arm"

This reverts commit 07d815617bac726e70cb830d80c04dac8bb3eaaa.

Fixes a build breakage on x86-generic.

BUG= chromium:670430 
TEST=Compiles on x86-generic

CQ-DEPEND=CL:416068, CL:416050

Change-Id: Ib7fb84304b225deb6dd7be6238c56fb39671fba3
Reviewed-on: https://chromium-review.googlesource.com/416049
Commit-Ready: Lutz Justen <ljusten@chromium.org>
Tested-by: Lutz Justen <ljusten@chromium.org>
Reviewed-by: Achuith Bhandarkar <achuith@chromium.org>

[modify] https://crrev.com/c041ab8b332d0f4341936b4b65ca0b2ab159f0e1/chromeos-base/chromeos-chrome/chromeos-chrome-9999.ebuild

Project Member Comment 16 by bugdroid1@chromium.org, Dec 7 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/d1145467534d5095a71556f2bf4064de95f99846

commit d1145467534d5095a71556f2bf4064de95f99846
Author: Lutz Justen <ljusten@chromium.org>
Date: Fri Dec 02 08:41:04 2016

Reland "Add missing dependencies for authpolicy"

This reverts commit dbfb1a896659cdc0ced8d55ae6994408652a4434.

Fixes a build breakage on x86-generic.

BUG= chromium:670430 
TEST=Compiles on x86-generic

CQ-DEPEND=CL:416068

Change-Id: Ia8cb38689619180e0025de35033df9e9e2d5ffe5
Reviewed-on: https://chromium-review.googlesource.com/416050
Commit-Ready: Lutz Justen <ljusten@chromium.org>
Tested-by: Lutz Justen <ljusten@chromium.org>
Reviewed-by: Achuith Bhandarkar <achuith@chromium.org>

[modify] https://crrev.com/d1145467534d5095a71556f2bf4064de95f99846/chromeos-base/authpolicy/authpolicy-9999.ebuild

Project Member Comment 17 by bugdroid1@chromium.org, Dec 7 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/236476ab66962694446c3dade889e13117c82806

commit 236476ab66962694446c3dade889e13117c82806
Author: Lutz Justen <ljusten@chromium.org>
Date: Fri Dec 02 09:58:52 2016

authpolicy: Fix 32 bit compilation issues.

Fixes a build breakage on x86-generic.

BUG= chromium:670430 
TEST=Compiles on x86-generic

Change-Id: Ifec01682c64b98621156f8bcd7b73cf857678d53
Reviewed-on: https://chromium-review.googlesource.com/416068
Commit-Ready: Lutz Justen <ljusten@chromium.org>
Tested-by: Lutz Justen <ljusten@chromium.org>
Reviewed-by: Achuith Bhandarkar <achuith@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/236476ab66962694446c3dade889e13117c82806/authpolicy/policy/preg_parser.cc

Status: Fixed
Status: Assigned
There is build_package error in cyan-chrome-pfq https://uberchromegw.corp.google.com/i/chromeos/builders/cyan-chrome-pfq/builds/486/steps/BuildPackages/logs/stdio
reporting the same line:

-----------------------------

authpolicy-0.0.1-r72: [31/36] CXX obj/authpolicy/policy/libauthpolicy.preg_parser.o
authpolicy-0.0.1-r72: FAILED: x86_64-cros-linux-gnu-clang++ -MMD -MF obj/authpolicy/policy/libauthpolicy.preg_parser.o.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Iobj/authpolicy/libauthpolicy.gen/include -Igen/include -I/mnt/host/source/src/platform2 -I/mnt/host/source/src/platform -I/build/cyan/usr/include -Igen -Wall -Wno-psabi -ggdb3 -fstack-protector-strong -Wformat=2 -fvisibility=internal -Wa,--noexecstack -Werror --sysroot=/build/cyan -DDBUS_API_SUBJECT_TO_CHANGE -DUSE_RTTI_FOR_TYPE_TAGS -Wno-c++11-extensions -Wno-unused-local-typedefs -DBASE_VER=395517 -pthread -I/build/cyan/usr/include/dbus-c++-1 -I/build/cyan/usr/include/chromeos -I/build/cyan/usr/include/base-395517 -I/build/cyan/usr/include/glib-2.0 -I/build/cyan/usr/lib64/glib-2.0/include -I/build/cyan/usr/include/dbus-1.0 -I/build/cyan/usr/lib64/dbus-1.0/include -I/build/cyan/usr/include/nss -I/build/cyan/usr/include/nspr -fPIE -std=gnu++11 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -O2 -pipe -O2 -pipe -O2 -pipe -march=corei7 -g -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -clang-syntax -clang-syntax -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables  -c ../../../../../../../../../mnt/host/source/src/platform2/authpolicy/policy/preg_parser.cc -o obj/authpolicy/policy/libauthpolicy.preg_parser.o
authpolicy-0.0.1-r72: ../../../../../../../../../mnt/host/source/src/platform2/authpolicy/policy/preg_parser.cc:106:15: error: comparison of constant 9223372036854775807 with expression of type 'uint32_t' (aka 'unsigned int') is always true [-Werror,-Wtautological-constant-out-of-range-compare]
authpolicy-0.0.1-r72:   DCHECK(size <= std::numeric_limits<ptrdiff_t>::max());
authpolicy-0.0.1-r72:          ~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
authpolicy-0.0.1-r72: ../../../../../../../usr/include/base-395517/base/logging.h:727:54: note: expanded from macro 'DCHECK'
authpolicy-0.0.1-r72:   LAZY_STREAM(LOG_STREAM(DCHECK), DCHECK_IS_ON() ? !(condition) : false) \
authpolicy-0.0.1-r72:                                                      ^~~~~~~~~
authpolicy-0.0.1-r72: ../../../../../../../usr/include/base-395517/base/logging.h:389:5: note: expanded from macro 'LAZY_STREAM'
authpolicy-0.0.1-r72:   !(condition) ? (void) 0 : ::logging::LogMessageVoidify() & (stream)
authpolicy-0.0.1-r72:     ^~~~~~~~~
authpolicy-0.0.1-r72: 1 error generated.
Status: Started
Status: Fixed
I'm going to add authpolicy temporarily to some place outside of the Chrome ebuild, so that it gets picked up by the CrOS CQ and won't break the Chrome PFQ after having landed already. Once the build is stable, I'll flip the switch in the Chrome ebuild again and remove the temp solution.

See https://chromium-review.googlesource.com/#/c/418200/.

Sign in to add a comment