[FFe] update glibc to 2.22 in wily

Bug #1497473 reported by Adam Conrad
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
glibc (Ubuntu)
Fix Released
Undecided
Adam Conrad

Bug Description

The glibc 2.22 development cycle was fairly sedate, there are only 670 commits between 2.21 and 2.22 upstream, mostly bugfixes. For comparison, there were 912 between 2.19 and 2.20.

That said, a lot of the commits are worth picking up, and cherrypicking them all would be far more error-prone than updating as a whole.

glibc-2.22 has been building and testing well in my devirt PPA ( https://launchpad.net/~adconrad/+archive/ubuntu/ppa/+packages ), and all seems to be good there. I'm still testing a few more cherrypicks from trunk to hunt down an existing (ie: affects 2.21 as well) build failure with squid3, but that shouldn't affect the outcome of this FFe, IMO.

In general, I think this is low risk, the upstream testsuite fully passes (after a bit of arguing with it), and everything builds and runs as well as one might expect. Full changelog follows:

 glibc (2.22-0ubuntu1~ppa2) wily; urgency=medium
 .
   * Merge with 2.22 from experimental (LP: #), remaining changes:
     - Drop the Breaks line from libc which refers to a Debian transition.
     - Remove the libc6 recommends on libc6-i686, which we don't build.
     - Enable libc6{,-dev}-armel on armhf and libc6{-dev}-armhf on armel.
     - Ship update-locale and validlocale in /usr/sbin in libc-bin.
     - Don't build locales or locales-all in Ubuntu, we rely on langpacks.
     - Heavily mangle the way we do service restarting on major upgrades.
     - Build i386 variants as -march=i686, build amd64 with -O3, and build
       ppc64 variants (both 64-bit and 32-bit) with -O3 -fno-tree-vectorize.
     - Build generic i386/i686 flavour with -mno-tls-direct-seg-refs.
     - Drop the libc6-xen flavour, as the above change covers Xen's needs.
     - Enable systemtap support, which is currently disabled in Debian.
     - debian/patches/ubuntu/local-warn-bsd-source.diff: Don't warn on
       _BSD_SOURCE || _SVID_SOURCE, so we don't have to fix everything
       that might define them and build with -Werror, drop after wily.
     - Force tuning POWER7 builds to POWER8, as POWER7 is just a stopgap.
   * debian/patches/any/cvs-netinet-in-4.2.diff: Pull patch from git that
     updates netinet/in.h to match the kernel UAPI header's values in 4.2.
   * debian/patches/any/cvs-netinet-tcp-4.2.diff: Ditto for netinet/tcp.h.
 .
 glibc (2.22-0experimental0) UNRELEASED; urgency=medium
 .
   [ Adam Conrad ]
   * New upstream release: version 2.22, with git updates up to 2015-09-17:
     - debian/patches/all/local-alias-UTF-8.diff: Fixed upstream.
     - debian/patches/any/cvs-ldconfig-aux-cache.diff: Upstreamed.
     - debian/patches/any/cvs-localplt-new-readelf.diff: Upstreamed.
     - debian/patches/any/cvs-logbl-accuracy.diff: Upstreamed.
     - debian/patches/any/cvs-make-typo.diff: Upstreamed.
     - debian/patches/any/cvs-vismain-pie.diff: Upstreamed.
     - debian/patches/any/local-xfail-stdlib-linkns.diff: Dropped.
     - debian/patches/any/local-tester-gcc-4.9.diff: Dropped.
     - debian/patches/arm/cvs-arm-sfi_breg.diff: Upstreamed.
     - debian/patches/arm/cvs-memcpy-memmove-always-bx.diff: Upstreamed.
     - debian/patches/hppa/cvs-alloca-werror.diff: Upstreamed.
     - debian/patches/hppa/cvs-fpu-r2.diff: Upstreamed.
     - debian/patches/hppa/cvs-fpu2.diff: Upstreamed.
     - debian/patches/hppa/local-fcntl-osync.diff: Fixed upstream.
     - debian/patches/hppa/local-setcontext.diff: Fixed upstream.
     - debian/patches/powerpc/cvs-power7-strncpy.diff: Upstreamed.
     - debian/patches/powerpc/cvs-ppc-feraiseexcept.diff: Upstreamed.
     - debian/patches/powerpc/cvs-ppc-pow.diff: Upstreamed.
     - debian/patches/powerpc/cvs-ppc-sqrt.diff: Upstreamed.
     - debian/patches/powerpc/cvs-ppc-sqrtf.diff: Upstreamed.
     - debian/patches/powerpc/cvs-ppc-tabort-le.diff: Upstreamed.
     - debian/patches/all/local-alias-et_EE.diff: Rebased.
     - debian/patches/amd64/local-blacklist-on-TSX-Haswell.diff: Rebased.
     - debian/patches/any/local-libgcc-compat-ports.diff: Rebased.
     - debian/patches/any/local-libpic.diff: Rebased.
     - debian/patches/any/local-no-pagesize.diff: Rebased.
     - debian/patches/any/submitted-longdouble.diff: Rebased.
     - debian/patches/any/submitted-missing-etc-hosts.diff: Rebased.
     - debian/patches/any/submitted-resolv-ipv6-nameservers.diff: Rebased.
     - debian/patches/i386/submitted-i686-timing.diff: Rebased.
     - debian/patches/localedata/local-all-no-archive.diff: Rebased.
     - debian/patches/localedata/submitted-locale-bo.diff: Rebased.
     - debian/patches/mips/submitted-rld_map.diff: Rebased.
   * debian/{control,symbols.wildcards,copyright}: Updated strings for 2.22.
 .
   [ Samuel Thibault ]
   * debian/patches/hurd-i386/tg-tls.diff: Rebased.
   * debian/patches/hurd-i386/tg-tls-threadvar.diff: Rebased.
   * debian/patches/hurd-i386/tg-ioctl-base-types.diff: Upstreamed.
   * debian/patches/hurd-i386/tg-extern_inline.diff: Rebased.
   * debian/patches/hurd-i386/tg-aio_misc.diff: Upstreamed.
   * debian/patches/hurd-i386/tg-chflags.diff: Upstreamed.
   * debian/patches/hurd-i386/tg-select-EINTR.diff: Upstreamed.
   * debian/patches/hurd-i386/tg-af_local_strlen.diff: Upstreamed.
   * debian/patches/hurd-i386/tg-nice.diff: Upstreamed.
   * debian/patches/hurd-i386/tg-nfds-poll.diff: Upstreamed.
   * debian/patches/hurd-i386/tg-sigstate_locking.diff: Upstreamed.
   * debian/patches/hurd-i386/tg-mmap_file_prot_none_fix.diff: Upstreamed.
   * debian/patches/hurd-i386/cvs-unwind-resume.diff: Upstreamed.
   * debian/patches/hurd-i386/cvs-libc-modules.h.diff: Upstreamed.
   * debian/patches/hurd-i386/cvs-warnings.diff: Upstreamed.
   * debian/patches/hurd-i386/cvs-check-local-headers.diff: Upstreamed.
   * debian/patches/hurd-i386/cvs-mlock.diff: Upstreamed.
   * debian/patches/hurd-i386/cvs-csu_crt0.diff: New patch, fixes gcrt0.o
     build.
   * debian/patches/hurd-i386/cvs-s_scalbn.diff: New patch, fixes s_scalbn.S
     build.
 .
 glibc (2.21-0experimental2) UNRELEASED; urgency=medium
 .
   [ Samuel Thibault ]
   * Symbol versions which contain _DEBIAN_ are unexpected by upstream scripts.
     Add hurd-i386-only patches/hurd-i386/local-versions-hack.diff to work
     around the issue. Also take the opportunity of the upstream version bump
     to bump the versions to GLIBC_2_21, which will allow one to remove the
     _DEBIAN_ hacks once packages are rebuilt.
   * patches/hurd-i386/unsubmitted-libpthread-semaphore.h.diff: Remove
     libpthread/sysdeps/i386/bits/semaphore.h, now that hurd Implies
     libpthread/sysdeps/generic. Move libpthread/include/semaphore.h into
     libpthread/sysdeps/pthread/semaphore.h instead of the latter just
     including the former, since the latter is what gets installed.
 .
   [ Aurelien Jarno ]
   * rules.d/debhelper.mk: replace GLIBC_VERSION before LIBC. Closes:
     #797538.
   * Drop loongson-2f flavour on mipsel as this machine is not supported
     anymore (default to R2 ISA).
   * kfreebsd/local-sysdeps.diff: update to revision 5772 (from glibc-bsd).
     Closes: #764692, #785796.
   * testsuite-checking/expected-results-mips*: allow the new tst-audit9
     fail, like the others tst-auditX.
   * testsuite-checking/expected-results-mips(el)-linux-gnu-libc: allow
     conformtest for sys/stat.h to fail for O32 ABI. They were previously
     under the failing test run-conformtest.out, but it has been lost in
     the conversion to the new format.
   * testsuite-checking/expected-results-mips*: sort the files. Remove
     failures due to old kernel now that all buildds run jessie.
   * debhelper.in/locales-all.prerm: do not specify a path to check for
     locale-gen.
   * libc6.1.symbols.alpha: remove invoke_dynamic_linker from libpcprofile.so.
     It has disappeared, but it is a private library.
   * Remove debver2localesdep.pl, it is unused since 2.19-16.
   * Use $(GLIBC_VERSION) for shlib, instead of defining the version in a
     separate shlibver file.
   * Remove completely outdated README, README.source and TODO files.
   * rules.d/debhelper.mk: use the default compression format for libc6,
     libc-bin and multiarch-support. Nowadays deboostrap is able to handle
     the xz format and modern distributions also support it. Anyway almost
     all packages installed by debootstrap are now using the xz format.
   * Bump debhelper compatibility to level 9. This brings compressed debug
     file using the build-id instead of a fixed path. This is much more
     multiarch friendly.
   * control.in/*: remove pre-squeeze conflicts.
   * libc-bin, libc-dev-bin: Recommends the manpages package and add lintian
     override for missing manpages.
   * sysdeps/s390x.mk: --enable-lock-elision.
   * testsuite-checking/expected-results-x86_64-linux-gnux32-*: allow
     conformtest for headers with tv_nsec to fail for x32. The type
     non-compliance is intentional. These tests were previously marked as
     failing under the run-conformtest.out, but they have been lost during
     the conversion to the new format.
   * testsuite-checking/compare.sh: reenable failures in case of regressions.
   * rules.d/build.mk: don't require flavours to be tested before being
     installed. They are still tested when calling the build-arch or
     binary-arch targets, but not anymore when calling the build-indep or
     binary-indep targets.
   * patches/hppa/cvs-alloca-werror.diff: new patch from upstream to fix a
     build failure.
 .
   [ Steven Chamberlain ]
   * sysdeps/kfreebsd.mk: find kfreebsd-kernel-headers in multiarch path.
     Closes: #672774, #798064.
 .
   [ Helmut Grohne ]
   * Fix some issues with stage 1. Closes: #797831.
 .
   [ Adam Conrad ]
   * debian/patches/arm/local-arm-futex.diff: Lie about the minimum kernel
     support for futex_atomic_cmpxchg_inatomic to restore the previous state
     and fix the pulsesink (and others) regression on ARM (closes: #788799)

Revision history for this message
Adam Conrad (adconrad) wrote :

Also, since the introduction of adt rdep testing glibc updates seem less scary in general, as we trigger pretty much the world for testing when it's uploaded, which should catch any particularly nasty issues.

Revision history for this message
Steve Langasek (vorlon) wrote :

Primarily bugfixes in the new upstream release, which means it would be possible to revert the upgrade if necessary; good coverage via autopkgtests, and I understand we'll be getting an archive rebuild test soon. FFe granted.

Changed in glibc (Ubuntu):
status: New → Triaged
Adam Conrad (adconrad)
Changed in glibc (Ubuntu):
status: Triaged → Fix Committed
assignee: nobody → Adam Conrad (adconrad)
Revision history for this message
jffdtyd (jffdtyd) wrote :

my kubuntu died after update :)

Revision history for this message
Harry (harry33) wrote :

The version 2.22 did break xserver in my Ubuntu.
After upgrading glibc_2.22-0ububtu1 it was only possible to boot to vty1, X did not start.
I downgraded glibc to v. 2.21-0ubuntu4, but it did not help.
After reinstalling xserver-xorg I was able to boot correctly.

Revision history for this message
Steve Langasek (vorlon) wrote :

Blocking in proposed while sorting out these reports of regressions

tags: added: block-proposed
Revision history for this message
Steve Langasek (vorlon) wrote : Re: [Bug 1497473] Re: [FFe] update glibc to 2.22 in wily

On Sat, Sep 19, 2015 at 03:58:33PM -0000, jffdtyd wrote:
> my kubuntu died after update :)

The glibc 2.22 package is only in wily-proposed, which is not recommended to
be used by end users. You may have pulled in any number of unrelated
packages besides glibc 2.22, if you tried to upgrade to wily-proposed.
Please attach /var/log/apt/term.log from the affected system.

Revision history for this message
Steve Langasek (vorlon) wrote :

On Sat, Sep 19, 2015 at 04:57:34PM -0000, Harry wrote:
> The version 2.22 did break xserver in my Ubuntu.
> After upgrading glibc_2.22-0ububtu1 it was only possible to boot to vty1,
> X did not start.
> I downgraded glibc to v. 2.21-0ubuntu4, but it did not help.
> After reinstalling xserver-xorg I was able to boot correctly.

But the glibc package doesn't overwrite anything that belongs to the
xserver-xorg package, and the xserver-xorg package contains no relevant
maintainer scripts so reinstalling it would have no effect.

Please show your /var/log/apt/term.log from these upgrades, so we can see
what other packages were involved.

Also, why are you installing glibc from wily-proposed?

Revision history for this message
iLogin (cerebellum-l) wrote :

"The glibc 2.22 package is only in wily-proposed, which is not recommended to
be used by end users."
there are no problems, the computer has a spare operating system.

reinstall xserver work for me...

Revision history for this message
Adam Conrad (adconrad) wrote :

Just running "sudo ldconfig" fixes the problem, AFAICT, so I clearly broke something in the maintainer scripts on the last experimental merge. Looking more closely. ;)

Revision history for this message
iLogin (cerebellum-l) wrote :

by the way was the problem after upgrading but before the reboot, when you try to start konsole or dolphin was an error in kdeinit5, I did not pay attention to this and rebooted. after the restart it turned out that works only a text console

Revision history for this message
Adam Conrad (adconrad) wrote :

(I've removed glibc 2.22 from -proposed for now while hunting down the bugs that have been brought up)

Revision history for this message
Harry (harry33) wrote :

Steve, you asked:

1. But the glibc package doesn't overwrite anything that belongs to the
xserver-xorg package, and the xserver-xorg package contains no relevant
maintainer scripts so reinstalling it would have no effect.

2. Also, why are you installing glibc from wily-proposed?

Well, for the point 2:
The reason to use the proposed is exactly what happened with glibc 2.22 - testing and finding the bugs, so that it others do not have to break their setups.

To the question 1:
I did test several times and each time reinstalling xserver (packages xserver-common and xserver-xorg-core) did help.
I tried this in the first place because, after upgrading into glibc 2.22 I could get into tty1.
Not even if I downgraded back into glibc 2.21.
So, the setup was not badly borked, it was only the X that did not start. The command startx did not work either.

Finally, whatever the true reason for this bug is, reinstalling xserver-xorg-core (after downgrading into glibc 2.21) fixes it.
I have now a fully working setup, with glibc 2.21.

Revision history for this message
dino99 (9d9) wrote :

For testing i've only upgraded, then downgraded multiarch-support; and i get that error that can be the root cause:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
 LANGUAGE = "en_US:en",
 LC_ALL = (unset),
 LC_TIME = "fr_FR.UTF-8",
 LC_MONETARY = "fr_FR.UTF-8",
 LC_ADDRESS = "fr_FR.UTF-8",
 LC_TELEPHONE = "fr_FR.UTF-8",
 LC_NAME = "fr_FR.UTF-8",
 LC_MEASUREMENT = "fr_FR.UTF-8",
 LC_IDENTIFICATION = "fr_FR.UTF-8",
 LC_NUMERIC = "fr_FR.UTF-8",
 LC_PAPER = "fr_FR.UTF-8",
 LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_ALL to default locale: No such file or directory
Gtk-WARNING **: Locale not supported by C library.
 Using the fallback 'C' locale. at /usr/lib/i386-linux-gnu/perl5/5.20/Gtk2.pm line 126, <> line 1.
Gtk-WARNING **: Locale not supported by C library.
 Using the fallback 'C' locale. at /usr/lib/i386-linux-gnu/perl5/5.20/Gtk2.pm line 126, <> line 1.
dpkg: warning: downgrading multiarch-support from 2.22-0ubuntu1 to 2.21-0ubuntu4
(Reading database ... 241242 files and directories currently installed.)
Preparing to unpack .../multiarch-support_2.21-0ubuntu4_i386.deb ...
Unpacking multiarch-support (2.21-0ubuntu4) over (2.22-0ubuntu1) ...
Setting up multiarch-support (2.21-0ubuntu4) ...

Revision history for this message
dino99 (9d9) wrote :

#13 resolved by: sudo locale-gen --purge

Revision history for this message
dino99 (9d9) wrote :

Feedback:
glibc 2.22 has been installed when it first appeared in 'proposed'
when bad issues have been reported, i then only downgrade multiarch-support to 2.21, but all the other 2.22 packages are still in place without getting issue. All is fine on that i386 wily installation.

Steve Langasek (vorlon)
Changed in glibc (Ubuntu):
status: Fix Committed → Won't Fix
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (41.1 KiB)

This bug was fixed in the package glibc - 2.23-0ubuntu1

---------------
glibc (2.23-0ubuntu1) xenial; urgency=medium

  * Merge with 2.23 from experimental (LP: #1521172), remaining changes:
    - Remove the libc6 recommends on libc6-i686, which we don't build.
    - Enable libc6{,-dev}-armel on armhf and libc6{-dev}-armhf on armel.
    - Ship update-locale and validlocale in /usr/sbin in libc-bin.
    - Don't build locales or locales-all in Ubuntu, we rely on langpacks.
    - Heavily mangle the way we do service restarting on major upgrades.
    - Build i386 variants as -march=i686, build amd64 with -O3, and build
      ppc64 variants (both 64-bit and 32-bit) with -O3 -fno-tree-vectorize.
    - Build generic i386/i686 flavour with -mno-tls-direct-seg-refs.
    - Drop the libc6-xen flavour, as the above change covers Xen's needs.
    - Enable systemtap support, which is currently disabled in Debian.
    - debian/patches/ubuntu/local-warn-bsd-source.diff: Don't warn on
      _BSD_SOURCE || _SVID_SOURCE, so we don't have to fix everything
      that might define them and build with -Werror, drop after xenial.
    - Don't build libc-l10n, its contents get stripped for language-packs.
    - debian/control.in/libc: Remove a Breaks on s390x against a binary
      NMU version of check that will never exist in the Ubuntu archive.
  * Drop libc-bin manpages Recommends to Suggests to keep it in standard.
  * Build with -fno-pie and -no-pie on s390x, upstream isn't PIE-ready.
  * debian/testsuite-xfail-debian.mk: XFAIL tst-malloc-thread-{fail,exit}.
  * debian/patches/any/cvs-netinet-in-4.2.diff: Dropped, merged upstream.
  * debian/patches/any/cvs-netinet-tcp-4.2.diff: Dropped, merged upstream.
  * debian/patches/any/cvs-selinux-nscd.diff: Dropped, merged upstream.
  * debian/patches/powerpc/local-tune-power8.diff: Dropped, we build for P8.
  * debian/patches/ubuntu/submitted-no-stack-backtrace.diff: Rebase patch.
  * debian/patches/ubuntu/unsubmitted-increase-dtv-surplus.diff: Dropped.

  * Evaluate and merge/drop/rebase localedata patches from langpack-locales.
    - debian-*patch: Drop all langpack-locales patches copied from Debian.
    - ubuntu/localedata/bn-language.patch: Rebase for glibc.
    - ubuntu/localedata/ce_RU-new_locale.patch: Drop, merged upstream.
    - ubuntu/localedata/ckb_IQ-new_locale.patch: Rebase for glibc.
    - ubuntu/localedata/de_AT-february.patch: Drop, merged upstream.
    - ubuntu/localedata/en_CA-dateformat.patch: Rebase for glibc.
    - ubuntu/localedata/en_IE-am_pm.patch: Rebase for glibc.
    - ubuntu/localedata/eo_US.patch: Rebase for glibc.
    - ubuntu/localedata/es-decimal_point-thousands_sep.patch: Drop, merged.
    - ubuntu/localedata/es_DO-am_pm.patch: Rebase for glibc.
    - ubuntu/localedata/es_EV.patch: Drop, merged upstream.
    - ubuntu/localedata/gd_GB-days-months.patch: Drop, merged upstream.
    - ubuntu/localedata/it_IT-thousands_sep.patch: Drop, also in Debian.
    - ubuntu/localedata/ln_CD-new_locale.patch: Rebase for glibc.
    - ubuntu/localedata/lt_LT-currency.patch: Drop, merged upstream.
    - ubuntu/localedata/lv_LV-currency.patch: Rebase for glibc.
    - ubuntu/localedata/pt_BR-d_fmt.patch: ...

Changed in glibc (Ubuntu):
status: Won't Fix → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.