after upgrading glibc to 2.3.5 on my devel server i noticed some wierdness with ebuilds halting during epatch and econfig. no segfaults are apparent however the running process will hang and not completely exit it given signal2. Reproducible: Always Steps to Reproduce: 1. use a running PAX and grsecurity2 pie+ssp system ( chroot recommended ) 2. USE="~x86" emerge =glibc-2.3.5 2. observe the kernel logfile with tail for pax terminating cc1 and or other compiler commands. Actual Results: Apr 27 00:19:31 uberboxen PAX: bytes at SP: 0807897e 00000003 14b6be28 00000000 2678c280 2678a830 00000054 00000058 0000005c 0000045c 00000898 0000095c 00000970 00000970 00000970 00000970 14bdae70 00000024 14bdaf10 00000024 Apr 27 00:19:33 uberboxen PAX: From 24.76.184.58: execution attempt in: <anonymous mapping>, 5b284000-5b29c000 5b284000 Apr 27 00:19:33 uberboxen PAX: terminating task: /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-linuxthreads/elf/ld.so(ld.so):24473, uid/euid: 0/0, PC: 5b29798c, SP: 5b297808 Apr 27 00:19:33 uberboxen PAX: bytes at PC: b9 1c 7f 29 5b e9 ba 02 de ac 00 00 06 00 00 00 0a 00 00 00 Apr 27 00:19:33 uberboxen PAX: bytes at SP: 0807897e 00000001 136509f8 00000000 27196280 27194830 00000054 00000058 0000005c 0000045c 00025174 000264ac 0003b760 0003b760 0003b760 0003b760 1399f898 00000024 1399f938 00000024 Apr 27 00:19:35 uberboxen PAX: From 24.76.184.58: execution attempt in: <anonymous mapping>, 5fb73000-5fb8b000 5fb73000 Apr 27 00:19:35 uberboxen PAX: terminating task: /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-linuxthreads/elf/ld.so(ld.so):14725, uid/euid: 0/0, PC: 5fb8667c, SP: 5fb864f8 Apr 27 00:19:35 uberboxen PAX: bytes at PC: b9 0c 6c b8 5f e9 ca 15 4f a8 00 00 06 00 00 00 0a 00 00 00 Apr 27 00:19:35 uberboxen PAX: bytes at SP: 0807897e 00000001 137f2c70 00000000 2052a280 20528830 00000054 00000058 0000005c 0000045c 00000a6c 00000a70 00000a74 00000a74 00000a74 00000a74 138543f0 00000018 13854480 00000020 Apr 27 00:19:36 uberboxen PAX: From 24.76.184.58: execution attempt in: <anonymous mapping>, 5c373000-5c38b000 5c373000 Apr 27 00:19:36 uberboxen PAX: terminating task: /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-linuxthreads/elf/ld.so(ld.so):17789, uid/euid: 0/0, PC: 5c386f8c, SP: 5c386e08 Apr 27 00:19:36 uberboxen PAX: bytes at PC: b9 1c 75 38 5c e9 ba 0c cf ab 00 00 06 00 00 00 0a 00 00 00 Apr 27 00:19:36 uberboxen PAX: bytes at SP: 0807897e 00000001 16aa8dc0 00000000 20cab280 20ca9830 00000054 00000058 0000005c 0000045c 00000a78 00000a7c 00000a80 00000a80 00000a80 00000a80 16b0a820 00000018 16b0a8b0 00000020 Apr 27 00:19:38 uberboxen PAX: From 24.76.184.58: execution attempt in: <anonymous mapping>, 59361000-5937a000 59361000 Apr 27 00:19:39 uberboxen PAX: terminating task: /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-linuxthreads/elf/ld.so(ld.so):5461, uid/euid: 0/0, PC: 5937546c, SP: 593752e8 Apr 27 00:19:39 uberboxen PAX: bytes at PC: b9 fc 59 37 59 e9 da 27 d0 ae 00 00 06 00 00 00 0a 00 00 00 Apr 27 00:19:39 uberboxen PAX: bytes at SP: 0807897e 00000001 15033670 00000000 267f8280 267f6830 00000054 00000058 0000005c 0000045c 00025174 000264ac 0003b760 0003b760 0003b760 0003b760 15382278 00000018 15382308 00000020 Apr 27 00:19:41 uberboxen PAX: From 24.76.184.58: execution attempt in: <anonymous mapping>, 5ae30000-5ae48000 5ae30000 Apr 27 00:19:41 uberboxen PAX: terminating task: /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-linuxthreads/elf/ld.so(ld.so):32117, uid/euid: 0/0, PC: 5ae43f7c, SP: 5ae43df8 Apr 27 00:19:41 uberboxen PAX: bytes at PC: b9 0c 45 e4 5a e9 ca 3c 23 ad 00 00 06 00 00 00 0a 00 00 00 Apr 27 00:19:41 uberboxen PAX: bytes at SP: 0807897e 00000001 10ecaa10 00000000 257a5280 257a3830 00000054 00000058 0000005c 0000045c 00025174 000264ac 0003b760 0003b760 0003b760 0003b760 11219660 00000028 11219700 00000030 Apr 27 00:19:42 uberboxen PAX: From 24.76.184.58: execution attempt in: <anonymous mapping>, 58815000-5882d000 58815000 Apr 27 00:19:43 uberboxen PAX: terminating task: /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-linuxthreads/elf/ld.so(ld.so):20802, uid/euid: 0/0, PC: 58828d2c, SP: 58828ba8 Expected Results: glibc that can be built comforming to pax specifications for memory mapping uberboxen ~ # emerge info Portage 2.0.51.20-r5 (default-linux/x86/2005.0, gcc-3.4.3, glibc-2.3.4.20050125-r1, 2.6.11-hardened-r1 i686) ================================================================= System uname: 2.6.11-hardened-r1 i686 AMD Athlon(tm) XP 3000+ Gentoo Base System version 1.6.10 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.4 [enabled] dev-lang/python: 2.3.5 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r8 sys-devel/libtool: 1.5.14 virtual/os-headers: 2.6.11 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-xp -O2 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig buildpkg ccache distlocks fixpackages sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.eliteitminds.com ftp://pandemonium.tiscali.de/pub/gentoo/ http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 3dnow X509 acl acpi adns alsa apache2 authdaemond bash-completion berkdb bzlib ccache cdr chroot cluster crypt ctype curl curlwrappers dba dio emboss encode erandom fam fortran freetds ftp gd gdbm hardened hardenedphp imagemagick imap imlib innodb ipv6 kerberos ldap libg++ libwww maildir memlimit mmx mp3 mpi mysql nagios-dns nagios-ntp nagios-ping nagios-ssh ncurses nls nptl objc odbc pam pcntl pcre perl pg-hier pg-intdatetime pg-vacuumdelay php pic pie png posix postgres python readline sasl sdl sendfile session sftplogging shaper shared sharedmem snmp sockets softquota spell sse ssl sysvipc szip tcpd tiff unicode vda vhosts virus-scan xml xml2 xmlrpc xsl zlib" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY I should mention i'm uncertain if these errors are *only* linuxthreads related. the mess in my kernel logfile has needed a rotation since mid january. I'll try to grep for nptl and add to the bug
grep of the kernel logfile only returned about 2000 linuxthreads processes killed by pax while compiling glibc-2.3.5. Nice!?
o lastly before i turn in i just noticed this seems to have occured on the previous glibc build aswell with ld.so appearing to fail with some mysterious elf address error. ld does however still work correctly. uberboxen ~ # ld ld: no input files Mar 23 20:27:16 uberboxen PAX: terminating task: /var/tmp/portage/glibc-2.3.4.20050125-r1/work/build-default-i686-pc-linux-gnu-linuxthreads/elf/ld.so(ld.so):894, uid/euid: 0/0, PC: 5e20ae94, SP: 5e20acd4 Mar 23 20:27:19 uberboxen PAX: terminating task: /var/tmp/portage/glibc-2.3.4.20050125-r1/work/build-default-i686-pc-linux-gnu-linuxthreads/elf/ld.so(ld.so):29687, uid/euid: 0/0, PC: 5c403e24, SP: 5c403c64 Mar 23 20:27:20 uberboxen PAX: terminating task: /var/tmp/portage/glibc-2.3.4.20050125-r1/work/build-default-i686-pc-linux-gnu-linuxthreads/elf/ld.so(ld.so):6166, uid/euid: 0/0, PC: 5cdba3e4, SP: 5cdba224 Apr 27 00:19:55 uberboxen PAX: terminating task: /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-linuxthreads/elf/ld.so(ld.so):20127, uid/euid: 0/0, PC: 5cb3626c, SP: 5cb360e8 Apr 27 00:19:57 uberboxen PAX: terminating task: /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-linuxthreads/elf/ld.so(ld.so):18078, uid/euid: 0/0, PC: 5d1c662c, SP: 5d1c64a8 Apr 27 00:19:59 uberboxen PAX: terminating task: /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-linuxthreads/elf/ld.so(ld.so):12129, uid/euid: 0/0, PC: 5c718d2c, SP: 5c718ba8
glibc uses it's newly created ld.so to exec another program (rpcgen -Y) while making locales. If your system lacks the resources to build a ton of locales at one time this operation will fail with random null pointer execution as you see. Solution: use hardened profile or enable userlocales. # grep ^en_US /etc/locales.build en_US/ISO-8859-1 en_US.UTF-8/UTF-8
*** This bug has been marked as a duplicate of 85718 ***
solar@gentoo.org: "If your system lacks the resources to build a ton of locales at one time..." ???? - I have one giga ram in my box, and no server programs run except samba. - The build process builds all of the locales simultaneously? i don't think so. - This bug shows up since the 2.3.4.20050125-r1 version. this is a fact. so the problem is in the changes of the previous versions and that version. Not our systems! "Solution: use hardened profile or enable userlocales." ??????? Your kidding? You think that i don't use the hardened profile? Please.. We use hardened profile and hardened kernel. And i tell you, if i use the userlocales use-flag, the problem is still exists. Probe it if you don't believe me.
toth just a suggestion. if you expect support from developers perhaps mind your manners =]