** Description changed:

  [ Impact ]
  gettext 1.0-5 fails to build from source on Ubuntu stonking with glibc >= 
2.44.
  During dh_auto_test, tests calling posix_spawn with chdir action 
(test-posix_spawn-chdir and test-execute.sh) fail:
  - On i386: crash with SIGSEGV (exit code 139) from infinite recursion.
  - On amd64, arm64, ppc64el, s390x: child processes hang until the 150-minute 
builder timeout.
  This blocks gettext in stonking-proposed.
  
  [ Fix ]
  In glibc 2.44, <spawn.h> redirects posix_spawn_file_actions_addchdir to 
posix_spawn_file_actions_addchdir_np via __REDIRECT_NTH.
  gnulib compiles spawn_faction_addchdir.c to call 
posix_spawn_file_actions_addchdir_np.
  Because asm redirection cannot be undone by #undef, gcc emits 
posix_spawn_file_actions_addchdir_np calling itself.
  
  The patch guards spawn_faction_addchdir.c under defined __GLIBC__ &&
  defined __USE_XOPEN2K24XSI. On glibc >= 2.44, libc already provides the
  function, so gnulib skips redefining it and callers link directly to
  libc.
  
  [ Test Plan ]
  1. On Ubuntu stonking with glibc 2.44-1ubuntu1:
     dpkg-buildpackage -b -uc -us
  2. Verify gnulib tests pass:
     PASS: test-execute.sh
     PASS: test-posix_spawn-chdir
  3. Verify binary deb packages are built.
  
  [ Where problems could occur ]
  The guard is restricted to '#if defined __GLIBC__ && defined 
__USE_XOPEN2K24XSI'. Older glibc versions or non-glibc systems use existing 
code.
  glibc 2.44 provides posix_spawn_file_actions_addchdir directly in libc.so.6.
  
  [ Other Info ]
  - Debian BTS report: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1149910
  - Development series: stonking (26.10)
  - Target release: Ubuntu stonking
  - Bug reference: LP: #2167365
+ - PPA: https://launchpad.net/~steelf/+archive/ubuntu/ppa (gettext 
1.0-5ubuntu1)
  
  --- [ Original Report ]
  gettext 1.0-5 fails to build from source in stonking.
  
  Regressing architectures (built before, fail now): amd64, amd64v3, arm64, 
armhf, i386, ppc64el, s390x.
  Build log(s):
    - 
https://launchpad.net/ubuntu/+source/gettext/1.0-5/+build/33595016/+files/buildlog_ubuntu-stonking-amd64.gettext_1.0-5_BUILDING.txt.gz
    - 
https://launchpad.net/ubuntu/+source/gettext/1.0-5/+build/33595017/+files/buildlog_ubuntu-stonking-amd64v3.gettext_1.0-5_BUILDING.txt.gz
    - 
https://launchpad.net/ubuntu/+source/gettext/1.0-5/+build/33595018/+files/buildlog_ubuntu-stonking-arm64.gettext_1.0-5_BUILDING.txt.gz
    - 
https://launchpad.net/ubuntu/+source/gettext/1.0-5/+build/33595019/+files/buildlog_ubuntu-stonking-armhf.gettext_1.0-5_BUILDING.txt.gz
    - 
https://launchpad.net/ubuntu/+source/gettext/1.0-5/+build/33595020/+files/buildlog_ubuntu-stonking-i386.gettext_1.0-5_BUILDING.txt.gz
    - 
https://launchpad.net/ubuntu/+source/gettext/1.0-5/+build/33595021/+files/buildlog_ubuntu-stonking-ppc64el.gettext_1.0-5_BUILDING.txt.gz
    - 
https://launchpad.net/ubuntu/+source/gettext/1.0-5/+build/33595023/+files/buildlog_ubuntu-stonking-s390x.gettext_1.0-5_BUILDING.txt.gz
  
  Diagnosis (deterministic matcher): testsuite-failure -> dh_auto_test:
  error: make -j1 check TESTSUITEFLAGS="-j1 --verbose" VERBOSE=1 returned
  exit code 2.
  
  Root Cause Analysis:
  gnulib tests (test-posix_spawn-chdir, test-execute.sh) segfault (i386) or 
hang (amd64) across most architectures due to a known incompatibility with 
glibc 2.44. The failure is caused by a known gnulib posix_spawn wrapper 
conflict with glibc 2.44 headers that leads to infinite recursion. Fixing it 
requires updating the gnulib submodule or backporting specific gnulib/glibc 
patches, which is too complex for an automated patch.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2167365

Title:
  gettext 1.0-5 FTBFS on amd64, amd64v3, arm64, armhf, i386, ppc64el,
  s390x

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gettext/+bug/2167365/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to