From 908a95889b2bbcdb30e945ac12e0b6b2e025fa4d Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Wed, 15 Jan 2025 14:49:45 -0800 Subject: [PATCH 1/8] fix clang-pgo test --- .github/workflows/dev-short-tests.yml | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/.github/workflows/dev-short-tests.yml b/.github/workflows/dev-short-tests.yml index 7ed068d6e..752dda324 100644 --- a/.github/workflows/dev-short-tests.yml +++ b/.github/workflows/dev-short-tests.yml @@ -615,18 +615,6 @@ jobs: run: | make clangbuild - clang-pgo: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1 - - name: Build PGO Zstd with Clang - env: - CC: clang-14 - LLVM_PROFDATA: llvm-profdata-14 - run: | - make -C programs zstd-pgo - ./programs/zstd -b - gcc-pgo: runs-on: ubuntu-latest steps: @@ -638,6 +626,19 @@ jobs: make -C programs zstd-pgo ./programs/zstd -b + clang-pgo: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1 + - name: Build PGO Zstd with Clang + env: + CC: clang + run: | + sudo apt install -y llvm + llvm-profdata --version + make -C programs zstd-pgo + ./programs/zstd -b + intel-cet-compatibility: runs-on: ubuntu-latest steps: From 0e819c9f933a6b1193cfa26453ba967eb198af13 Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Wed, 15 Jan 2025 15:15:27 -0800 Subject: [PATCH 2/8] fix meson-linux build test missing the liblzma package --- .github/workflows/dev-short-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dev-short-tests.yml b/.github/workflows/dev-short-tests.yml index 752dda324..2867e4f3e 100644 --- a/.github/workflows/dev-short-tests.yml +++ b/.github/workflows/dev-short-tests.yml @@ -220,7 +220,7 @@ jobs: - name: Install packages run: | sudo apt-get update - sudo apt-get -y install build-essential python3-pip ninja-build liblz4-dev + sudo apt-get -y install build-essential python3-pip ninja-build liblz4-dev liblzma-dev pip install --pre meson - name: Build with Meson run: | From 196e76efe16623c4a1aa5d636298b59f392671b5 Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Wed, 15 Jan 2025 15:24:27 -0800 Subject: [PATCH 3/8] fix make-external-compressors "only-lzma" test missing the liblzma-dev package --- .github/workflows/dev-short-tests.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/dev-short-tests.yml b/.github/workflows/dev-short-tests.yml index 2867e4f3e..7e58b40e6 100644 --- a/.github/workflows/dev-short-tests.yml +++ b/.github/workflows/dev-short-tests.yml @@ -199,7 +199,9 @@ jobs: steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1 - name: Build with ${{matrix.name}} - run: ${{matrix.flags}} make zstd + run: | + sudo apt install liblzma-dev + ${{matrix.flags}} make zstd implicit-fall-through: From 80ff61de1de352fb14d4bee6de7f7dd1e254da38 Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Wed, 15 Jan 2025 15:28:23 -0800 Subject: [PATCH 4/8] fixed cmake-build-and-test-check missing the liblzma library --- .github/workflows/dev-short-tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/dev-short-tests.yml b/.github/workflows/dev-short-tests.yml index 7e58b40e6..0dfd48529 100644 --- a/.github/workflows/dev-short-tests.yml +++ b/.github/workflows/dev-short-tests.yml @@ -89,6 +89,7 @@ jobs: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1 - name: cmake build and test run: | + sudo apt install liblzma-dev FUZZERTEST=-T1mn ZSTREAM_TESTTIME=-T1mn make cmakebuild V=1 cpp-gnu90-c99-compatibility: From 642157cc450c5e2b1c5703ba0a164514ce29061a Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Wed, 15 Jan 2025 15:39:20 -0800 Subject: [PATCH 5/8] short-test-1: separate tests, giving each a name to better observe where the problem might be --- .github/workflows/commit.yml | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/.github/workflows/commit.yml b/.github/workflows/commit.yml index ca5a85b8f..4fff0f5d7 100644 --- a/.github/workflows/commit.yml +++ b/.github/workflows/commit.yml @@ -45,16 +45,24 @@ jobs: run: | sudo apt-get update sudo apt-get install gcc-powerpc-linux-gnu gcc-arm-linux-gnueabi gcc-aarch64-linux-gnu libc6-dev-ppc64-powerpc-cross libcurl4-gnutls-dev lib64gcc-11-dev-powerpc-cross - - name: Test - run: |- - make gnu90build; make clean - make gnu99build; make clean - make ppc64build V=1; make clean - make ppcbuild V=1; make clean - make armbuild V=1; make clean - make aarch64build V=1; make clean - make -C tests test-legacy test-longmatch; make clean - make -C lib libzstd-nomt; make clean + - name: gnu90 build + run: make gnu90build && make clean + - name: gnu99 build + run: make gnu99build && make clean + - name: ppc64 build + run: make ppc64build V=1 && make clean + - name: ppc build + run: make ppcbuild V=1 && make clean + - name: arm build + run: make armbuild V=1 && make clean + - name: aarch64 build + run: make aarch64build V=1 && make clean + - name: test-legacy + run: make -C tests test-legacy V=1 && make clean + - name: test-longmatch + run: make -C tests test-longmatch V=1 && make clean + - name: libzstd-nomt build + run: make -C lib libzstd-nomt V=1 && make clean regression-test: runs-on: ubuntu-latest From d4ae5c3752c0f4a918cadcfb9489c91e59bb1f47 Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Wed, 15 Jan 2025 15:52:27 -0800 Subject: [PATCH 6/8] update installed lib64gcc version --- .github/workflows/commit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/commit.yml b/.github/workflows/commit.yml index 4fff0f5d7..2aa8a6d86 100644 --- a/.github/workflows/commit.yml +++ b/.github/workflows/commit.yml @@ -44,7 +44,7 @@ jobs: - name: Install Dependencies run: | sudo apt-get update - sudo apt-get install gcc-powerpc-linux-gnu gcc-arm-linux-gnueabi gcc-aarch64-linux-gnu libc6-dev-ppc64-powerpc-cross libcurl4-gnutls-dev lib64gcc-11-dev-powerpc-cross + sudo apt-get install gcc-powerpc-linux-gnu gcc-arm-linux-gnueabi gcc-aarch64-linux-gnu libc6-dev-ppc64-powerpc-cross libcurl4-gnutls-dev lib64gcc-13-dev-powerpc-cross - name: gnu90 build run: make gnu90build && make clean - name: gnu99 build From 43626f1ce0ae4f7f3a9f6d5b7b04f54566d49b52 Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Wed, 15 Jan 2025 16:05:42 -0800 Subject: [PATCH 7/8] zlib-wrapper: separate test components to better understand what is failing --- .github/workflows/dev-short-tests.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/dev-short-tests.yml b/.github/workflows/dev-short-tests.yml index 0dfd48529..25919922d 100644 --- a/.github/workflows/dev-short-tests.yml +++ b/.github/workflows/dev-short-tests.yml @@ -141,12 +141,14 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1 - - name: zlib wrapper test + - name: install valgrind run: | sudo apt-get -qqq update make valgrindinstall - make -C zlibWrapper test - make -C zlibWrapper test-valgrind + - name: zlib wrapper test + run: make -C zlibWrapper test + - name: zlib wrapper test under valgrind + run: make -C zlibWrapper test-valgrind lz4-threadpool-libs: runs-on: ubuntu-latest From 0b96e6d42a9b22eb472a050fcd2cc4be3ffb8e2b Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Wed, 15 Jan 2025 16:31:00 -0800 Subject: [PATCH 8/8] fixed zlib test new versions of the library generate a different error code --- zlibWrapper/examples/example.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/zlibWrapper/examples/example.c b/zlibWrapper/examples/example.c index 99fbf5b19..eaae69747 100644 --- a/zlibWrapper/examples/example.c +++ b/zlibWrapper/examples/example.c @@ -340,7 +340,7 @@ void test_large_deflate(Byte *compr, uLong comprLen, Byte *uncompr, /* =========================================================================== * Test inflate() with large buffers - */ + */ void test_large_inflate(Byte *compr, uLong comprLen, Byte *uncompr, uLong uncomprLen) { int err; @@ -442,8 +442,8 @@ void test_sync(Byte *compr, uLong comprLen, Byte *uncompr, uLong uncomprLen) { CHECK_ERR(err, "inflateSync"); err = inflate(&d_stream, Z_FINISH); - if (err != Z_DATA_ERROR) { - fprintf(stderr, "inflate should report DATA_ERROR\n"); + if (err != Z_STREAM_END) { + fprintf(stderr, "inflate reported %i != %i (Z_STREAM_END)\n", err, Z_STREAM_END); /* Because of incorrect adler32 */ exit(1); }