Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI:Move gcc-13 and the latest compilers from ubuntu-22.04 to ubuntu-24.04 #1416

Open
t-mat opened this issue May 27, 2024 · 6 comments
Open
Assignees

Comments

@t-mat
Copy link
Contributor

t-mat commented May 27, 2024

Describe the bug
Our CI is trying to install gcc-13 and failed.

Expected behavior
CI script runs without error.

To Reproduce
Re-run github actions.

System (please complete the following information):

  • ubuntu-22.04 image on github actions

Additional context

For some reason, they removed gcc-13 from ubuntu-22.04.

image

Actual change is here

@t-mat t-mat self-assigned this May 27, 2024
@t-mat
Copy link
Contributor Author

t-mat commented May 27, 2024

I'll fix it later!

@t-mat
Copy link
Contributor Author

t-mat commented May 27, 2024

New gh-actions image contains the following compilers/libraries

ubuntu-24.04

  • gcc-{9,10,11,12,13,14}
  • lib32gcc-{9,10,11,12,13,14}-dev
  • clang-{14,15,16,17,18}

ubuntu-22.04 aka ubuntu-latest

  • gcc-{9,10,11,12}
  • lib32gcc-{9,10,11,12}-dev
  • clang-{11,12,13,14,15}

ubuntu-20.04

  • gcc-{7,8,9,10}
  • lib32gcc-{7,8,9,10}-dev
  • clang-{6.0,7,8,9,10,11,12}

@t-mat
Copy link
Contributor Author

t-mat commented May 27, 2024

Trying to migrate gcc-13 to ubuntu-24.04, but GH-Actions reports strange error.

make -j -C tests test-lz4c32 for gcc-13 on ubuntu-24.04 fails with the following cryptic error message: The futex facility returned an unexpected error code.

https://github.com/t-mat/lz4/actions/runs/9253029363/job/25451891963

GH-Actions Error log
gcc-13 -Wall -Wextra -Wundef -Wcast-qual -Wcast-align -Wshadow -Wswitch-enum -Wdeclaration-after-statement -Wstrict-prototypes -Wpointer-arith -Wstrict-aliasing=1 -g -DLZ4_DEBUG=1 -O3 -Werror -O1  -m32 -I../lib -DXXH_NAMESPACE=LZ4_ -DLZ4IO_MULTITHREAD  -c -o util.o util.c
echo "==> building with multithreading support"
==> building with multithreading support
gcc-13 -Wall -Wextra -Wundef -Wcast-qual -Wcast-align -Wshadow -Wswitch-enum -Wdeclaration-after-statement -Wstrict-prototypes -Wpointer-arith -Wstrict-aliasing=1 -g -DLZ4_DEBUG=1 -O3 -Werror -O1  -m32 -I../lib -DXXH_NAMESPACE=LZ4_ -DLZ4IO_MULTITHREAD -pthread ../lib/lz4.o ../lib/lz4file.o ../lib/lz4frame.o ../lib/lz4hc.o ../lib/xxhash.o bench.o lorem.o lz4cli.o lz4io.o threadpool.o timefn.o util.o -o lz4 
make[1]: Leaving directory '/home/runner/work/lz4/lz4/programs'
ln -sf ../programs/lz4 ../programs/unlz4
ln -sf ../programs/lz4 ../programs/lz4cat

 ---- test multiple files ----
...
+ datagen -g1M -s2
+ lz4 -12B4D
using blocks of size 64 KB 
+ lz4 -t
The futex facility returned an unexpected error code.

Decompressed : 0 MiB  The futex facility returned an unexpected error code.
Aborted (core dumped)
0a1,64434
> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Odio mauris quae amet nascetur porro in nostrum auctor cursus. Quas quos soluta cillum velit deserunt praesentium dolorum ornare, dolorum nam optio cum duis, dolore eius in pellentesque. Ipsam tempore nisi dis odit dicta ut amet at quos eius, nam. Quod minima sapiente nisi commodo ac neque, quas do faucibus libero perspiciatis dui ac nunc. Rem fermentum dignissimos eu eu iure interdum nostrum ab omnis ullamco asperiores. Tempor dolores porta similique, eaque quaerat mi eum id nisi beatae, expedita voluptates dis debitis? 
...
This step has been truncated due to its large size. Download the full logs from the  menu once the workflow run has completed.

But in my console, it works fine with fresh Ubuntu-24.04.

My console log
: Windows terminal - Install clean Ubuntu 24.04 image
cmd.exe
pushd "%USERPROFILE%\Documents"
mkdir clean-ubuntu-2404
cd    clean-ubuntu-2404
curl -JOL https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64-root.tar.xz
wsl --import clean-ubuntu-2404 "%CD%\instance" "%CD%\noble-server-cloudimg-amd64-root.tar.xz"
exit
: close the terminal

: Windows terminal - Launch Ubuntu 24.04 image
cmd.exe
pushd "%USERPROFILE%\Documents"
cd     clean-ubuntu-2404
wsl -d clean-ubuntu-2404
# Ubuntu root console
sudo apt update -y
suto apt upgrade -y
sudo apt install -y build-essential
sudo apt install -y gcc-13 g++-13 lib32gcc-13-dev libx32gcc-13-dev gcc-multilib

make --version | grep "Make"   # GNU Make 4.3
gcc-13 --version | grep "gcc"  # gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0
g++-13 --version | grep "g++"  # g++-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0

cd
git clone https://github.com/lz4/lz4.git lz4-issue-1416
cd lz4-issue-1416

CC='gcc-13' CXX='g++-13' CFLAGS='-Werror -O1' make -j -C tests test-lz4c32 V=1
# make: Entering directory '/root/lz4-issue-1416/tests'
# make -C ../programs lz4 CFLAGS="-Wall -Wextra -Wundef -Wcast-qual -Wcast-align -Wshadow -Wswitch-enum -Wdeclaration-after-statement -Wstrict-prototypes -Wpointer-arith -Wstrict-aliasing=1 -g -DLZ4_DEBUG=1 -O3 -Werror -O1  -m32"
# ...
# + remove
# + rm tmp-lfh1 tmp-lfh2
# make: Leaving directory '/root/lz4-issue-1416/tests'
#
# PASS

gcc-{13,14} and clang-{16,17,18} failed with same log. Potentially caused by

  • Multi-threading (error message suggests it)
  • ABI (in)compatibility (since it only occurs in 32-bit code)
  • Headless environment (if it only occurs on GH-Actions terminal)

We must note that gcc-13 had worked fine before this GH-Actions breaking change. So we also should suspect their environment settings.

t-mat added a commit to t-mat/lz4 that referenced this issue May 27, 2024
@t-mat t-mat changed the title CI: Remove gcc-13 from ubunut-22.04 CI:Move gcc-13 and the latest compilers from ubuntu-22.04 to ubuntu-24.04 May 27, 2024
@t-mat
Copy link
Contributor Author

t-mat commented May 27, 2024

I'm giving up for now :(

I just replaced ubuntu-22.04 to ubuntu-24.04 for older compilers (gcc-[9,12] and clang-[14,15]).

t-mat@4134a0d

But GH-Actions failed.

https://github.com/t-mat/lz4/actions/runs/9253898395/job/25454539937

Note that they're working fine with ubuntu-22.04

It seems their ubuntu-24.04 image has serious compatibility issue.

@t-mat
Copy link
Contributor Author

t-mat commented May 27, 2024

@t-mat
Copy link
Contributor Author

t-mat commented Jun 1, 2024

As of today, their ubuntu-24.04 fails to retrieve apt get. It seems we need to wait their fix.
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant