Assertion `_rtld_global_ro._dl_pagesize != 0' failed

Bug #672352 reported by Matt Blair on 2010-11-08
34
This bug affects 5 people
Affects Status Importance Assigned to Milestone
eglibc (Ubuntu)
Undecided
Matthias Klose
Maverick
Undecided
Unassigned

Bug Description

While installing MySQL 5.5.6-rc on Maverick, mysqld crashed immediately, dumping the following (among other stuff) into its error log:

mysqld: ../sysdeps/unix/sysv/linux/getpagesize.c:32: __getpagesize: Assertion `_rtld_global_ro._dl_pagesize != 0' failed.

It's an upstream issue, documented here:

http://thread.gmane.org/gmane.comp.lib.glibc.user/579

It looks like it was fixed in Fedora:

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=26f25ed8b41240e0268e2e4472a4dc4564ffe146

Any idea if this patch will be coming to Ubuntu?

Thanks!

CVE References

Matt Blair (mattblair) wrote :

Here's how I'm compiling MySQL.

I believe this is a duplicate of #647527, although I am not sure.

P. Oscar Boykin (boykin) wrote :

I get the same issue with statically compiled haskell programs using ghc in Maverick.

Loïc Minier (lool) wrote :

(bug #647527 is indeed an earlier report of this issue, but I merged it into this bug because there is more information here.)

The testcase in bug #647527 is at http://launchpadlibrarian.net/56458625/foo.c
gcc -O0 -o foo foo.c && ./foo
=> works
gcc -static -O0 -o foo foo.c && ./foo
=> segvs

Fedora applied a workaround, not a fix, which is also what's mentioned to work in the upstream bug: http://sourceware.org/bugzilla/show_bug.cgi?id=11929

The patch from Gentoo seems to fix the first issue cleanly, but the upstream report mentions that it doesn't work for iconv.

Matthias Klose (doko) on 2010-11-14
Changed in eglibc (Ubuntu):
status: New → In Progress
Changed in eglibc (Ubuntu Maverick):
status: New → In Progress
Martin Pitt (pitti) wrote :

The Fedora patch looks more like a workaround than a proper patch (since it just disables that piece of code), but the #else branch in http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/getpagesize.c;h=fe9bc8ead727dba829379a71ab9b6a8258822bc4;hb=26f25ed8b41240e0268e2e4472a4dc4564ffe146 looks sensible enough, so please go ahead and upload.

Accepted eglibc into maverick-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in eglibc (Ubuntu Maverick):
status: In Progress → Fix Committed
tags: added: verification-needed

Thanks! I tested it and it works. My test was similar to comment #4.

Loïc Minier (lool) wrote :

We don't want to close this bug in natty with the workaround though, as it's only a workaround

Martin Pitt (pitti) on 2010-11-19
tags: added: verification-done
removed: verification-needed
Martin Pitt (pitti) on 2010-12-10
Changed in eglibc (Ubuntu):
assignee: nobody → Matthias Klose (doko)
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package eglibc - 2.12.1-0ubuntu10

---------------
eglibc (2.12.1-0ubuntu10) maverick-proposed; urgency=low

  * any/cvs-at-pagesize.diff: Don't assume AT_PAGESIZE is always available.
    LP: #672352.
  * Fix issue #12159, x86-64 strchr propagation of search byte into all bytes
    of SSE register.
  * Fix issue12113, alignment of AVX safe area on x86_64. LP: #662511.
  * Fix ifunc thunk for strspn on x86 in static libc. LP: #615953.
 -- Matthias Klose <email address hidden> Sun, 14 Nov 2010 23:49:36 +0100

Changed in eglibc (Ubuntu Maverick):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :
Download full text (6.3 KiB)

This bug was fixed in the package eglibc - 2.12.1-0ubuntu11

---------------
eglibc (2.12.1-0ubuntu11) natty; urgency=low

  * Update to the eglibc 2.12 branch (r12365).
    - Fix alignment of AVX safe area on x86_64, issue #12113. LP: #662511.
    - Fix issue #12159, x86-64 strchr propagation of search byte into all bytes
      of SSE register. (LP: #615953)
    - any/cvs-audit-suid.diff, any/cvs-getlogin_r-error-handling-1.patch,
      any/cvs-getlogin_r-error-handling-2.patch, any/cvs-issue12092.diff,
      any/cvs-getlogin_r-error-handling-3.patch, any/cvs-issue12113.diff,
      any/cvs-issue11968.diff: Remove, merged upstream.
    - any/cvs-dst-expansion-fix.diff, any/submitted-etc-resolv.conf.diff,
      locale/locale-print-LANGUAGE.diff: Updated.

  * Sort changelog entries with bzr-builddeb's merge_changelog to help merging
    with Debian; update Debian changelog entries to their latest version, and
    drop Debian changelog entries which aren't in the unstable changelog; this
    keeps the diff between Debian unstable's changelog and Ubuntu's changelog
    minimal (only Ubuntu entries) and makes it easier to review new Debian
    changes.
  * Copy binutils [mips mipsel] build-dep to minimize delta with Debian's
    build-deps.
  * Drop Vcs-Bzr; this package is now maintained in lp:ubuntu/eglibc.
  * Drop version in texinfo build-dep; this is satisfied even in dapper.
  * Move belocs-locales-bin conflicts around to lower the diff with Debian's
    control.
  * Copy Debian's libc6-dev-i386 Conflicts with libc6-i386 (<= 2.9-18) for
    some older upgrades; this seems to apply to Ubuntu as well, and reduces
    the delta with Debian just a bit. libc6-dev-i386 is not a commonly
    installed package, and this is satisfied in lucid and later anyway, so it
    shouldn't make upgrades harder, except if people use backports.
  * Drop debian/control.in/libc0.1, libc0.3, libc6, and libc6.1 (these are
    automatically generated) after confirming that generating them results in
    the same data.
  * Drop debian/debhelper.in/glibc-doc.docs; ChangeLog* is already listed in
    debian/debhelper.in/glibc-doc.install.
  * Drop debian/debhelper.in/libc-alt-dev.postinst as it only helps powerpc
    upgrades from dapper versions which aren't supported on powerpc anymore.
  * debian/debhelper.in/libc.postinst: drop inconsistent quotes around 2.12.
  * debian/local/manpages/gencat.1, iconvconfig.8, mtrace.1: revert differing
    RCS timestamps.
  * debian/patches/series: drop reference to changelog version with respect to
    local-ipv6-lookup.diff as the reference is bogus.
  * Drop debian/patches/alpha/submitted-getsysstats.diff,
    submitted-includes.diff, submitted-lowlevellock.diff,
    submitted-procfs_h.diff; these should have been dropped in earlier merges
    as they are not applied anymore and were dropped from Debian.
  * Drop commented-out hppa/* lines from patches/series to be consistent with
    how other arches were handled.
  * debian/sysdeps/amd64.mk: symlink ld-linux with the same rune as Debian.
  * Drop changes to debian/sysdeps/hurd.mk; Ubuntu doesn't build for Hurd.
  * Remove debian/wrapper/objcopy; was dropped in Debian already...

Read more...

Changed in eglibc (Ubuntu):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Bug attachments

Remote bug watches

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