Skip to content

[autobackport: sssd-2-13] ci: serialize make distcheck - #9001

Merged
alexey-tikhonov merged 1 commit into
SSSD:sssd-2-13from
sssd-bot:SSSD-sssd-backport-pr8983-to-sssd-2-13
Jul 24, 2026
Merged

[autobackport: sssd-2-13] ci: serialize make distcheck#9001
alexey-tikhonov merged 1 commit into
SSSD:sssd-2-13from
sssd-bot:SSSD-sssd-backport-pr8983-to-sssd-2-13

Conversation

@sssd-bot

Copy link
Copy Markdown
Contributor

This is an automatic backport of PR#8983 ci: serialize make distcheck to branch sssd-2-13, created by @pbrezina.

Please make sure this backport is correct.

Note

The commits were cherry-picked without conflicts.

You can push changes to this pull request

git remote add sssd-bot git@github.com:sssd-bot/sssd.git
git fetch sssd-bot refs/heads/SSSD-sssd-backport-pr8983-to-sssd-2-13
git checkout SSSD-sssd-backport-pr8983-to-sssd-2-13
git push sssd-bot SSSD-sssd-backport-pr8983-to-sssd-2-13 --force

Original commits
df13bd9 - ci: serialize make distcheck in build.yml

Backported commits

  • 715ae39 - ci: serialize make distcheck in build.yml

Original Pull Request Body

I saw make distcheck fail recently with linker due to a race condition when libsss_util.so was not available for libsss_ldap.

I let AI handle it:

  Root cause: Parallel libtool relink race condition during make distcheck install phase

  The failure is on line 27479-27480:
  libsss_util.so: file not recognized: file format not recognized
  collect2: error: ld returned 1 exit status

  What happened — two libtool relink commands ran in parallel during make install:

  1. Line 27474 (at 27.133s): libtool starts relinking libsss_util.so, writing to _build/sub/.libs/libsss_util.so
  2. Line 27478 (at 27.229s, ~100ms later): libtool starts relinking libsss_ldap.so, which links against -lsss_util via -L_build/sub/.libs
  3. Line 27479 (at 27.240s, ~10ms later): the libsss_ldap linker tries to read libsss_util.so from .libs/ — but that file is still being written by the concurrent libsss_util relink, so the linker sees a partially-written
  (truncated/corrupt) .so file


Libtool relinks shared libraries during install. With parallel make,
install-sssdlibLTLIBRARIES and install-pkglibLTLIBRARIES run
concurrently, causing provider plugin relinks to read half-written
base library .so files (e.g. libsss_ldap reads libsss_util.so
mid-relink). Serialize the install targets to prevent this.

Assisted-By: Claude Code (Opus 4.6)

@alexey-tikhonov alexey-tikhonov added no-backport This should go to target branch only. Accepted labels Jul 24, 2026
The parallel distcheck is full of potentiall race conditions because
there is no defined ordering on the libraries. There were attempts to
fix this using CI, but fixed one problem just revealed another one and
ultimately the fix was becomming more complex and magical but still
incomplete.

Reviewed-by: Alexey Tikhonov <atikhono@redhat.com>
(cherry picked from commit df13bd9)
@sssd-bot

Copy link
Copy Markdown
Contributor Author

The pull request was accepted by @alexey-tikhonov with the following PR CI status:


🟢 CodeQL (success)
🟢 rpm-build:centos-stream-10-x86_64:upstream (success)
🟢 rpm-build:fedora-43-x86_64:upstream (success)
🟢 rpm-build:fedora-44-x86_64:upstream (success)
🟢 rpm-build:fedora-rawhide-x86_64:upstream (success)
🟢 testing-farm:centos-stream-10-x86_64:upstream (success)
🔴 testing-farm:fedora-43-x86_64:upstream (failure)
🔴 testing-farm:fedora-44-x86_64:upstream (failure)
🔴 testing-farm:fedora-rawhide-x86_64:upstream (failure)
🟢 Build / freebsd (success)
🟢 Build / make-distcheck (success)
🔴 ci / intgcheck (centos-10) (failure)
🟢 ci / intgcheck (fedora-43) (success)
🟢 ci / intgcheck (fedora-44) (success)
🟢 ci / intgcheck (fedora-45) (success)
🟢 ci / prepare (success)
🟡 ci / system (centos-10) (in_progress)
🟡 ci / system (fedora-43) (in_progress)
🟡 ci / system (fedora-44) (in_progress)
🟡 ci / system (fedora-45) (in_progress)
🟢 Static code analysis / codeql (success)
🟢 Static code analysis / pre-commit (success)
🟢 Static code analysis / python-system-tests (success)


There are unsuccessful or unfinished checks. Make sure that the failures are not related to this pull request before merging.

@sssd-bot
sssd-bot force-pushed the SSSD-sssd-backport-pr8983-to-sssd-2-13 branch from 715ae39 to c7b4490 Compare July 24, 2026 16:07
@alexey-tikhonov
alexey-tikhonov merged commit 8ebb848 into SSSD:sssd-2-13 Jul 24, 2026
19 of 22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Accepted no-backport This should go to target branch only.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants