clone 1011078 -1
retitle -1 chromium: i386 and armhf packages FTBFS in bullseye
tags -1 bullseye ftbfs
severity -1 serious
thanks

On Mon, 16 May 2022 20:33:46 +0200
Salvatore Bonaccorso <car...@debian.org> wrote:
[...]
> Hi Andres,
> 
> On Mon, May 16, 2022 at 12:36:38PM -0400, Andres Salomon wrote:
> > On 5/16/22 11:35, Ben Steinberg wrote:  
> > 
> > Security Team, is there a way for me to get access to the logs for
> > chromium's security builds by ssh'ing into a machine? Or some other
> > way for me to view them?  
> 
> The build logs are not public but we can retrieve them. But in this
> case from #debian-buildd:
> 
> [17:58] < carnil> Hi, can someone double check if chromium/arm64
> build for bullseye-security is still really in building state?
> [18:07] < jcristau> carnil: it is not [18:07] < jcristau> guessing
> the host crashed a few days ago and it got a power cycle
> 
> Which I did and the package is not back in building state for arm64.
> 
> Regards,
> Salvatore
> 

Okay, so arm64 should be building now (thanks Salvatore!). Assuming no
build failures, they should show up in the archive in a day or two.
Chromium is a slow build. :)


While looking at this, I noticed that i386 and armhf in
bullseye-security were even older (last built circa chromium v99). The
build log shows this build failure on armhf:

[12837/50904] CXX obj/base/base/task_annotator.o
FAILED: obj/base/base/task_annotator.o 
clang++ -MMD -MF obj/base/base/task_annotator.o.d -DPA_PCSCAN_STACK_SUPPORTED 
-DUSE_SYMBOLIZE
 -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD 
-D__STDC_CONSTANT_MACROS
 -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -D_FILE_OFFSET_BITS=64 
-D_LARGEFILE_SOURCE -D_LAR
GEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE 
-DCR_CLANG_REVISION=\"llvmorg-15-init-3677-g
8133778d-4\" -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 
-DBASE_IMPLEMENTATION -DGLI
B_VERSION_MAX_ALLOWED=GLIB_VERSION_2_40 
-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_40 -DU_USI
NG_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 
-DU_ENABLE_TRACING=1 -DU_ENABLE_R
ESOURCE_TRACING=0 -DU_STATIC_IMPLEMENTATION 
-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -I../.. -
Igen -I../../third_party/perfetto/include 
-Igen/third_party/perfetto/build_config -Igen/third
_party/perfetto -Igen/shim_headers/zlib_shim -Igen/shim_headers/libevent_shim 
-I../../third_p
arty/abseil-cpp -I../../third_party/boringssl/src/include 
-I../../third_party/protobuf/src -I
gen/protoc_out -Igen/third_party/perfetto -I../../third_party/icu/source/common 
-I../../third
_party/icu/source/i18n -Wall -Wextra -Wimplicit-fallthrough 
-Wunreachable-code-aggressive -Wt
hread-safety -Wextra-semi -Wno-missing-field-initializers -Wno-unused-parameter 
-Wloop-analys
is -Wno-unneeded-internal-declaration -Wenum-compare-conditional -Wno-psabi 
-Wno-ignored-prag
ma-optimize -Wshadow -fno-delete-null-pointer-checks -fno-ident 
-fno-strict-aliasing --param=
ssp-buffer-size=4 -fstack-protector -fno-unwind-tables 
-fno-asynchronous-unwind-tables -fPIC 
-pthread -fcolor-diagnostics -fmerge-all-constants 
-fcrash-diagnostics-dir=../../tools/clang/
crashreports -mllvm -instcombine-lower-dbg-declare=0 -ffp-contract=off 
--target=arm-linux-gnu
eabihf -march=armv7-a -mfloat-abi=hard -mtune=generic-armv7-a 
-fdebug-compilation-dir=. -no-c
anonical-prefixes -mfpu=vfpv3-d16 -mthumb -ftrivial-auto-var-init=pattern 
-fno-omit-frame-poi
nter -g0 -fvisibility=hidden -Wheader-hygiene -Wstring-conversion 
-Wtautological-overlap-comp
are -Wexit-time-destructors -Wglobal-constructors -I/usr/include/glib-2.0 
-I/usr/lib/arm-linu
x-gnueabihf/glib-2.0/include -Wexit-time-destructors -fdata-sections 
-ffunction-sections -fno
-unique-section-names -DPROTOBUF_ALLOW_DEPRECATED=1 -std=c++17 -Wno-trigraphs 
-fno-aligned-ne
w -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -Wdate-time 
-D_FORTIFY_SOURCE=2 -O2 -
fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat 
-Werror=format-securit
y -Wno-conversion -Wno-unused-function -Wno-unused-variable 
-Wno-unused-private-field -Wno-de
precated-declarations -Wno-unknown-pragmas  -fno-delete-null-pointer-checks -c 
../../base/tas
k/common/task_annotator.cc -o obj/base/base/task_annotator.o
In file included from ../../base/task/common/task_annotator.cc:15:
../../base/sys_byteorder.h:56:28: error: constexpr function never produces a 
constant express
ion [-Winvalid-constexpr]
inline constexpr uintptr_t ByteSwapUintPtrT(uintptr_t x) {

../../base/sys_byteorder.h:65:12: note: non-constexpr function 'ByteSwap' 
cannot be used in a constant expression
    return ByteSwap(static_cast<uint32_t>(x));
           ^
../../base/sys_byteorder.h:33:17: note: declared here
inline uint32_t ByteSwap(uint32_t x) {
                ^
1 error generated.



And this build failure on i386:

[12741/51668] CXX obj/base/base/sampling_heap_profiler.o
FAILED: obj/base/base/sampling_heap_profiler.o 
clang++ -MMD -MF obj/base/base/sampling_heap_profiler.o.d 
-DPA_PCSCAN_STACK_SUPPORTED -DUSE_S
YMBOLIZE -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD 
-D__STDC_CONSTAN
T_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -D_FILE_OFFSET_BITS=64 
-D_LARGEFILE_SOURC
E -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE 
-DCR_CLANG_REVISION=\"llvmorg-15-ini
t-3677-g8133778d-4\" -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 
-DBASE_IMPLEMENTATI
ON -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_40 
-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_40
 -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 
-DU_ENABLE_TRACING=1 -DU_
ENABLE_RESOURCE_TRACING=0 -DU_STATIC_IMPLEMENTATION 
-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -
I../.. -Igen -I../../third_party/perfetto/include 
-Igen/third_party/perfetto/build_config -Ig
en/third_party/perfetto -Igen/shim_headers/zlib_shim 
-Igen/shim_headers/libevent_shim -I../..
/third_party/abseil-cpp -I../../third_party/boringssl/src/include 
-I../../third_party/protobu
f/src -Igen/protoc_out -Igen/third_party/perfetto 
-I../../third_party/icu/source/common -I../
../third_party/icu/source/i18n -Wall -Wextra -Wimplicit-fallthrough 
-Wunreachable-code-aggres
sive -Wthread-safety -Wextra-semi -Wno-missing-field-initializers 
-Wno-unused-parameter -Wloo
p-analysis -Wno-unneeded-internal-declaration -Wenum-compare-conditional 
-Wno-psabi -Wno-igno
red-pragma-optimize -Wshadow -fno-delete-null-pointer-checks -fno-ident 
-fno-strict-aliasing 
--param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables 
-fno-asynchronous-unwind-table
s -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants 
-fcrash-diagnostics-dir=../../tool
s/clang/crashreports -mllvm -instcombine-lower-dbg-declare=0 -ffp-contract=off 
-m32 -mfpmath=
sse -msse3 -fdebug-compilation-dir=. -no-canonical-prefixes 
-ftrivial-auto-var-init=pattern -
fno-omit-frame-pointer -momit-leaf-frame-pointer -g0 -fvisibility=hidden 
-Wheader-hygiene -Ws
tring-conversion -Wtautological-overlap-compare -Wexit-time-destructors 
-Wglobal-constructors
 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include 
-Wexit-time-destructors -
fdata-sections -ffunction-sections -fno-unique-section-names 
-DPROTOBUF_ALLOW_DEPRECATED=1 -s
td=c++17 -Wno-trigraphs -fno-aligned-new -fno-exceptions -fno-rtti 
-fvisibility-inlines-hidde
n -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector
-strong -Wformat -Werror=format-security -Wno-conversion -Wno-unused-function 
-Wno-unused-var
iable -Wno-unused-private-field -Wno-deprecated-declarations 
-Wno-unknown-pragmas  -fno-delet
e-null-pointer-checks -c 
../../base/sampling_heap_profiler/sampling_heap_profiler.cc -o obj/b
ase/base/sampling_heap_profiler.o
In file included from 
../../base/sampling_heap_profiler/sampling_heap_profiler.cc:12:
In file included from 
../../base/allocator/partition_allocator/partition_alloc.h:10:
In file included from 
../../base/allocator/partition_allocator/partition_root.h:53:
In file included from 
../../base/allocator/partition_allocator/partition_direct_map_extent.h:
10:
In file included from 
../../base/allocator/partition_allocator/partition_page.h:21:
In file included from 
../../base/allocator/partition_allocator/partition_freelist_entry.h:21:
../../base/sys_byteorder.h:56:28: error: constexpr function never produces a 
constant express
ion [-Winvalid-constexpr]
inline constexpr uintptr_t ByteSwapUintPtrT(uintptr_t x) {
                           ^
../../base/sys_byteorder.h:65:12: note: non-constexpr function 'ByteSwap' 
cannot be used in a
 constant expression
    return ByteSwap(static_cast<uint32_t>(x));
           ^
../../base/sys_byteorder.h:33:17: note: declared here
inline uint32_t ByteSwap(uint32_t x) {
                ^
1 error generated.




Both are occurring in chromium's ./base/sys_byteorder.h header. 
ByteSwapUintPtrT is marked
constexpr but it includes a non-constexpr function (ByteSwap).  Clang-13 is 
smart enough to
inline ByteSwap this and not care about the differences in constexpr marking, 
but clang-11 is not.

I'll need to remove the constexpr, like I did in
debian/patches/bullseye/blink-constexpr.patch. And/or send a patch upstream to 
mark ByteSwap as
constexpr, which I couldn't do with blink-constexpr.patch because it was using 
a non-constexpr
function from the c++ std library.

Reply via email to