Skip to content

Can't reproduce a building issue on AArch64 #12310

@ligurio

Description

@ligurio

(Yes, I remember that AArch64 support is not official.)

I've enabled AArch64 architecture in Tarantool project and building has failed 12:

Finished Step #33
Starting Step #34 - "compile-libfuzzer-address-aarch64"
Step #34 - "compile-libfuzzer-address-aarch64": Already have image (with digest): gcr.io/cloud-builders/docker
Step #34 - "compile-libfuzzer-address-aarch64": ---------------------------------------------------------------
Step #34 - "compile-libfuzzer-address-aarch64": Compiling libFuzzer to /usr/lib/libFuzzingEngine.a...  done.
Step #34 - "compile-libfuzzer-address-aarch64": ---------------------------------------------------------------
Step #34 - "compile-libfuzzer-address-aarch64": CC=clang
Step #34 - "compile-libfuzzer-address-aarch64": CXX=clang++
Step #34 - "compile-libfuzzer-address-aarch64": CFLAGS=-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link
Step #34 - "compile-libfuzzer-address-aarch64": CXXFLAGS=-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link -stdlib=libc++
Step #34 - "compile-libfuzzer-address-aarch64": RUSTFLAGS=--cfg fuzzing -Zsanitizer=address -Cdebuginfo=1 -Cforce-frame-pointers
Step #34 - "compile-libfuzzer-address-aarch64": ---------------------------------------------------------------
Step #34 - "compile-libfuzzer-address-aarch64": + [[ -e /src/tarantool/build ]]
Step #34 - "compile-libfuzzer-address-aarch64": + mkdir -p /src/tarantool/build/icu
Step #34 - "compile-libfuzzer-address-aarch64": + cd /src/tarantool/build/icu
Step #34 - "compile-libfuzzer-address-aarch64": + '[' '!' -e config.status ']'
Step #34 - "compile-libfuzzer-address-aarch64": + LDFLAGS=-lpthread
Step #34 - "compile-libfuzzer-address-aarch64": + CXXFLAGS='-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link -stdlib=libc++ -lpthread'
Step #34 - "compile-libfuzzer-address-aarch64": + /src/icu/source/configure --disable-shared --enable-static --disable-layoutex --disable-tests --disable-samples --with-data-packaging=static
Step #34 - "compile-libfuzzer-address-aarch64": checking for ICU version numbers... release 71.1, library 71.1, unicode version 14.0
Step #34 - "compile-libfuzzer-address-aarch64": checking build system type... aarch64-unknown-linux-gnu
Step #34 - "compile-libfuzzer-address-aarch64": checking host system type... aarch64-unknown-linux-gnu
Step #34 - "compile-libfuzzer-address-aarch64": checking whether to build debug libraries... no
Step #34 - "compile-libfuzzer-address-aarch64": checking whether to build release libraries... yes
Step #34 - "compile-libfuzzer-address-aarch64": checking whether the C compiler works... yes
Step #34 - "compile-libfuzzer-address-aarch64": checking for C compiler default output file name... a.out
Step #34 - "compile-libfuzzer-address-aarch64": checking for suffix of executables... 
Step #34 - "compile-libfuzzer-address-aarch64": checking whether we are cross compiling... configure: error: in `/src/tarantool/build/icu':
Step #34 - "compile-libfuzzer-address-aarch64": configure: error: cannot run C compiled programs.
Step #34 - "compile-libfuzzer-address-aarch64": If you meant to cross compile, use `--host'.
Step #34 - "compile-libfuzzer-address-aarch64": See `config.log' for more details
Step #34 - "compile-libfuzzer-address-aarch64": ********************************************************************************
Step #34 - "compile-libfuzzer-address-aarch64": Failed to build.
Step #34 - "compile-libfuzzer-address-aarch64": To reproduce, run:
Step #34 - "compile-libfuzzer-address-aarch64": python infra/helper.py build_image tarantool
Step #34 - "compile-libfuzzer-address-aarch64": python infra/helper.py build_fuzzers --sanitizer address --engine libfuzzer --architecture aarch64 tarantool
Step #34 - "compile-libfuzzer-address-aarch64": ********************************************************************************
Finished Step #34 - "compile-libfuzzer-address-aarch64"
ERROR
ERROR: build step 34 "gcr.io/cloud-builders/docker" failed: step exited with non-zero status: 1

Unfortunately, with proposed steps to reproduce, issue doesn't reproduce:

Step #34 - "compile-libfuzzer-address-aarch64": Failed to build.
Step #34 - "compile-libfuzzer-address-aarch64": To reproduce, run:
Step #34 - "compile-libfuzzer-address-aarch64": python infra/helper.py build_image tarantool
Step #34 - "compile-libfuzzer-address-aarch64": python infra/helper.py build_fuzzers --sanitizer address --engine libfuzzer --architecture aarch64 tarantool
Step #34 - "compile-libfuzzer-address-aarch64": ********************************************************************************
Finished Step #34 - "compile-libfuzzer-address-aarch64"
Hardware information
Architecture:                    aarch64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
CPU(s):                          128
On-line CPU(s) list:             11,13,19,22,25,26,34,38,47,59,85,92,94,98,115,116
Off-line CPU(s) list:            0-10,12,14-18,20,21,23,24,27-33,35-37,39-46,48-58,60-84,86-91,93,95-97,99-114,117-127
Thread(s) per core:              0
Core(s) per socket:              128
Socket(s):                       1
NUMA node(s):                    1
Vendor ID:                       ARM
Model:                           1
Model name:                      Neoverse-N1
Stepping:                        r3p1
Frequency boost:                 disabled
CPU max MHz:                     3000.0000
CPU min MHz:                     1000.0000
BogoMIPS:                        50.00
L1d cache:                       8 MiB
L1i cache:                       8 MiB
L2 cache:                        128 MiB
NUMA node0 CPU(s):               0-127
<snipped>
Flags:                           fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs

Any advices how to reproduce the issue?

Footnotes

  1. https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=70821

  2. https://oss-fuzz-build-logs.storage.googleapis.com/log-1e103b67-3b28-408f-bf63-150b90e8b075.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions