Attempting to emerge sys-libs/readline-5.0-r2 results in system reboot. The system does reboot cleanly (executing the same scripts as 'init 6'), however, it does so without providing any warning. Reproducible: Always Steps to Reproduce: # emerge =sys-libs/readline-5.0-r2 or # USE="" emerge sys-libs/readline Actual Results: The during the compilation of the program a system reboot is triggered without warning. The output of emerge before the reboot is as follows: Calculating dependencies >>> Unpacking source... >>> Unpacking readline-5.0.tar.gz to /var/tmp/portage/readline-5.0-r2/work * Applying readline50-001 ... [ ok ] * Applying readline50-002 ... [ ok ] * Applying readline50-003 ... [ ok ] * Applying readline50-004 ... [ ok ] * Applying readline50-005 ... [ ok ] * Applying bash-3.0-etc-inputrc.patch ... [ ok ] * Applying readline-5.0-solaris.patch ... [ ok ] * Applying readline-5.0-no_rpath.patch ... [ ok ] * Applying readline-5.0-self-insert.patch ... [ ok ] * Applying readline-5.0-del-backspace-policy.patch ... [ ok ] * Applying readline-5.0-darwin.patch ... [ ok ] * Applying readline-5.0-parallel.patch ... [ ok ] >>> Source unpacked. * econf: updating readline-5.0/support/config.guess with /usr/share/gnuconfig/config.guess * econf: updating readline-5.0/support/config.sub with /usr/share/gnuconfig/config.sub ./configure --prefix=/usr --host=powerpc64-unknown-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --build=powerpc64-unknown-linux-gnu --with-curses --libdir=/usr/lib64 checking build system type... powerpc64-unknown-linux-gnu checking host system type... powerpc64-unknown-linux-gnu Beginning configuration for readline-5.0 for powerpc64-unknown-linux-gnu checking whether make sets $(MAKE)... yes checking for powerpc64-unknown-linux-gnu-gcc... powerpc64-unknown-linux-gnu-gcc checking for C compiler default output... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether powerpc64-unknown-linux-gnu-gcc accepts -g... yes checking for powerpc64-unknown-linux-gnu-gcc option to accept ANSI C... none needed checking how to run the C preprocessor... powerpc64-unknown-linux-gnu-gcc -E checking for egrep... grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking minix/config.h usability... no checking minix/config.h presence... no checking for minix/config.h... no checking whether powerpc64-unknown-linux-gnu-gcc needs -traditional... no checking for a BSD-compatible install... /bin/install -c checking for ar... ar checking for powerpc64-unknown-linux-gnu-ranlib... powerpc64-unknown-linux-gnu-ranlib checking for an ANSI C-conforming const... yes checking for function prototypes... yes checking whether char is unsigned... yes checking return type of signal handlers... void ======= System reboot starts here ======= checking for size_t... yes checking for ssize_t... yes checking for ANSI C header files... (cached) yes checking whether stat file-mode macros are broken... no checking for dirent.h that defines DIR... yes checking for library containing opendir... none required checking for lstat... yes checking for memmove... yes checking for putenv... yes checking for select... yes checking for setenv... yes checking for setlocale... yes checking for strcasecmp... yes checking for strpbrk... yes checking for tcgetattr... yes checking for vsnprintf... yes checking for isascii... yes checking for isxdigit... yes checking for working strcoll... yes checking for unistd.h... (cached) yes checking for stdlib.h... (cached) yes checking varargs.h usability... no checking varargs.h presence... no checking for varargs.h... no checking stdarg.h usability... yes checking stdarg.h presence... yes checking for stdarg.h... yes checking for string.h... (cached) yes checking for strings.h... (cached) yes checking limits.h usability... yes checking limits.h presence... yes checking for limits.h... yes checking sys/ptem.h usability... no checking sys/ptem.h presence... no checking for sys/ptem.h... no checking sys/pte.h usability... no checking sys/pte.h presence... no checking for sys/pte.h... no checking sys/stream.h usability... no checking sys/stream.h presence... no checking for sys/stream.h... no checking sys/select.h usability... yes checking sys/select.h presence... yes checking for sys/select.h... yes checking termcap.h usability... yes checking termcap.h presence... yes checking for termcap.h... yes checking termios.h usability... yes checking termios.h presence... yes checking for termios.h... yes checking termio.h usability... yes checking termio.h presence... yes checking for termio.h... yes checking sys/file.h usability... yes checking sys/file.h presence... yes checking for sys/file.h... yes checking locale.h usability... yes checking locale.h presence... yes checking for locale.h... yes checking for memory.h... (cached) yes checking for type of signal functions... posix checking if signal handlers must be reinstalled when invoked... yes checking for presence of POSIX-style sigsetjmp/siglongjmp... present checking for lstat... yes checking whether or not strcoll and strcmp differ... no checking whether the ctype macros accept non-ascii characters... yes checking whether getpw functions are declared in pwd.h... yes checking whether termios.h defines TIOCGWINSZ... no checking whether sys/ioctl.h defines TIOCGWINSZ... yes checking whether signal handlers are of type void... yes checking for TIOCSTAT in sys/ioctl.h... no checking for FIONREAD in sys/ioctl.h... yes checking for speed_t in sys/types.h... no checking for struct winsize in sys/ioctl.h and termios.h... sys/ioctl.h checking for struct dirent.d_ino... yes checking for struct dirent.d_fileno... yes checking for tgetent... no checking for tgetent in -ltermcap... no checking for tgetent in -ltinfo... no checking for tgetent in -lcurses... yes checking which library has the termcap functions... using libcurses checking wctype.h usability... yes checking wctype.h presence... yes checking for wctype.h... yes checking wchar.h usability... yes checking wchar.h presence... yes checking for wchar.h... yes checking langinfo.h usability... yes checking langinfo.h presence... yes checking for langinfo.h... yes checking for mbsrtowcs... yes checking for mbrtowc... yes checking for mbrlen... yes checking for wctomb... yes checking for wcwidth... yes checking for wcsdup... yes checking for mbstate_t... yes checking for nl_langinfo and CODESET... yes checking configuration for building shared libraries... supported configure: creating ./config.status config.status: creating Makefile config.status: creating doc/Makefile config.status: creating examples/Makefile config.status: creating shlib/Makefile config.status: creating config.h config.status: executing default commands set -e; for x in libreadline.a libhistory.a; do make $x; done make[1]: Entering directory `/var/tmp/portage/readline-5.0-r2/work/readline-5.0' rm -f readline.o powerpc64-unknown-linux-gnu-gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"5.0"' -O2 -pipe -mcpu=G5 readline.c rm -f vi_mode.o powerpc64-unknown-linux-gnu-gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"5.0"' -O2 -pipe -mcpu=G5 vi_mode.c rm -f funmap.o powerpc64-unknown-linux-gnu-gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"5.0"' -O2 -pipe -mcpu=G5 funmap.c rm -f keymaps.o powerpc64-unknown-linux-gnu-gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"5.0"' -O2 -pipe -mcpu=G5 keymaps.c rm -f parens.o powerpc64-unknown-linux-gnu-gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"5.0"' -O2 -pipe -mcpu=G5 parens.c rm -f search.o powerpc64-unknown-linux-gnu-gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"5.0"' -O2 -pipe -mcpu=G5 search.c rm -f rltty.o powerpc64-unknown-linux-gnu-gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"5.0"' -O2 -pipe -mcpu=G5 rltty.c rm -f complete.o powerpc64-unknown-linux-gnu-gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"5.0"' -O2 -pipe -mcpu=G5 complete.c rm -f bind.o powerpc64-unknown-linux-gnu-gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"5.0"' -O2 -pipe -mcpu=G5 bind.c rm -f isearch.o powerpc64-unknown-linux-gnu-gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"5.0"' -O2 -pipe -mcpu=G5 isearch.c rm -f display.o powerpc64-unknown-linux-gnu-gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"5.0"' -O2 -pipe -mcpu=G5 display.c rm -f signals.o powerpc64-unknown-linux-gnu-gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"5.0"' -O2 -pipe -mcpu=G5 signals.c rm -f util.o powerpc64-unknown-linux-gnu-gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"5.0"' -O2 -pipe -mcpu=G5 util.c rm -f kill.o rm -f undo.o powerpc64-unknown-linux-gnu-gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"5.0"' -O2 -pipe -mcpu=G5 undo.c rm -f macro.o powerpc64-unknown-linux-gnu-gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"5.0"' -O2 -pipe -mcpu=G5 macro.c rm -f input.o powerpc64-unknown-linux-gnu-gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"5.0"' -O2 -pipe -mcpu=G5 input.c rm -f callback.o powerpc64-unknown-linux-gnu-gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"5.0"' -O2 -pipe -mcpu=G5 callback.c rm -f terminal.o powerpc64-unknown-linux-gnu-gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"5.0"' -O2 -pipe -mcpu=G5 terminal.c rm -f text.o powerpc64-unknown-linux-gnu-gcc -c -DHAVE_CONFIG_H -I. -I. -DRL_LIBRARY_VERSION='"5.0"' -O2 -pipe -mcpu=G5 text.c Expected Results: I would expect the package to be merged without a reboot, or at least to give a warning shortly before the reboot. The only running service on this box is sshd, vixie-cron and syslog-ng. I have replicated the problem with these services switched off. Other packages can be merged without problems. Portage 2.0.51.22-r2 (default-linux/ppc/2005.1/ppc64/64bit-userland/970/pmac, gcc-3.4.4, glibc-2.3.5-r1, 2.6.12-gentoo-r10_6 ppc64) ================================================================= System uname: 2.6.12-gentoo-r10_6 ppc64 PPC970FX, altivec supported Gentoo Base System version 1.6.13 dev-lang/python: 2.3.5-r2 sys-apps/sandbox: 1.2.12 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.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="ppc64" AUTOCLEAN="yes" CBUILD="powerpc64-unknown-linux-gnu" CFLAGS="-O2 -pipe -mcpu=G5" CHOST="powerpc64-unknown-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -pipe -mcpu=G5" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.gg3.net/ ftp://gg3.net/pub/linux/gentoo/ http://ftp.gentoo.or.kr/ ftp://ftp.cgu.edu.tw/Linux/Gentoo/" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.asia.gentoo.org/gentoo-portage" USE="ppc64 X aalib acc alsa altivec audiofile berkdb bitmap-fonts browserplugin bzip2 calendar cdb cdparanoia cdr doc dri dv dvd dvdr dvdread emacs emacs-w3 esd ethereal fam fbcon ffmpeg flac fortran ftp gd gdbm glut gnome gnustep gphoto2 gpm gstreamer gtk gtk2 imlib ipv6 jabber javascript joystick jpeg mime mozilla mp3 mpeg ncurses nls nptl ogg opengl pam perl png python readline ssl tcpd theora threads tiff truetype truetype-fonts type1-fonts unicode usb vcd vorbis xine xml2 xmms xv zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
seems to be related to bug #100023. I have had a realy small discussion about this with tgall and ranger. we all three do not know wtf is going on. Our toolchain/kernel seems to be broken somehow. Can you please try compiling an older kernel (for example 2.6.9) and report back if you can reproduce this problem using that kernel? Another thing would be good to know: Which version of PowerMac do you have? (something like "PowerMac7,2 with 2x2,5 Ghz" would be a good description)
not a bug in readline
Can anyone confirm if this *only* occurs off the install cd? or you getting in chroots with stages too?
Ok I did some additional work on this. I was on a known working g5 and I did a chroot of stage1. Stage1 was fine. Then when I did the emerge -e system, it did reboot on the configure of readline! I was able to capture some of the output which I will supply: >>> Unpacking source... >>> Unpacking readline-5.0.tar.gz to /var/tmp/portage/readline-5.0-r2/work * Applying readline50-001 ... [ ok ] * Applying readline50-002 ... [ ok ] * Applying readline50-003 ... [ ok ] * Applying readline50-004 ... [ ok ] * Applying readline50-005 ... [ ok ] * Applying bash-3.0-etc-inputrc.patch ... [ ok ] * Applying readline-5.0-solaris.patch ... [ ok ] * Applying readline-5.0-no_rpath.patch ... [ ok ] * Applying readline-5.0-self-insert.patch ... [ ok ] * Applying readline-5.0-del-backspace-policy.patch ... [ ok ] * Applying readline-5.0-darwin.patch ... [ ok ] * Applying readline-5.0-parallel.patch ... [ ok ] >>> Source unpacked. * econf: updating readline-5.0/support/config.guess with /usr/share/gnuconfig/config.guess * econf: updating readline-5.0/support/config.sub with /usr/share/gnuconfig/config.sub ./configure --prefix=/usr --host=powerpc64-unknown-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --build=powerpc64-unknown-linux-gnu --with-curses --libdir=/usr/lib64 checking build system type... powerpc64-unknown-linux-gnu checking host system type... powerpc64-unknown-linux-gnu Beginning configuration for readline-5.0 for powerpc64-unknown-linux-gnu checking whether make sets $(MAKE)... yes checking for powerpc64-unknown-linux-gnu-gcc... powerpc64-unknown-linux-gnu-gcc checking for C compiler default output... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether powerpc64-unknown-linux-gnu-gcc accepts -g... yes checking for powerpc64-unknown-linux-gnu-gcc option to accept ANSI C... none needed checking how to run the C preprocessor... powerpc64-unknown-linux-gnu-gcc -E checking for egrep... grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking minix/config.h usability... no checking minix/config.h presence... no checking for minix/config.h... no checking whether powerpc64-unknown-linux-gnu-gcc needs -traditional... no checking for a BSD-compatible install... /bin/install -c checking for ar... ar checking for powerpc64-unknown-linux-gnu-ranlib... powerpc64-unknown-linux-gnu-ranlib checking for an ANSI C-conforming const... yes checking for function prototypes... yes checking whether char is unsigned... yes checking return type of signal handlers... void checking for size_t... yes checking for ssize_t... yes checking for ANSI C header files... (cached) yes checking whether stat file-mode macros are broken... no checking for dirent.h that defines DIR... yes checking for library containing opendir... none required checking for lstat... yes checking for memmove... yes checking for putenv... yes checking for select... yes checking for setenv... yes checking for setlocale... yes checking for strcasecmp... yes checking for strpbrk... yes checking for tcgetattr... yes checking for vsnprintf... yes checking for isascii... yes checking for isxdigit... yes checking for working strcoll... yes checking for unistd.h... (cached) yes checking for stdlib.h... (cached) yes checking varargs.h usability... no checking varargs.h presence... no checking for varargs.h... no checking stdarg.h usability... yes checking stdarg.h presence... yes checking for stdarg.h... yes checking for string.h... (cached) yes checking for strings.h... (cached) yes checking limits.h usability... yes checking limits.h presence... yes checking for limits.h... yes checking sys/ptem.h usability... no checking sys/ptem.h presence... no checking for sys/ptem.h... no checking sys/pte.h usability... no checking sys/pte.h presence... no checking for sys/pte.h... no checking sys/stream.h usability... no checking sys/stream.h presence... no checking for sys/stream.h... no checking sys/select.h usability... yes checking sys/select.h presence... yes checking for sys/select.h... yes checking termcap.h usability... yes checking termcap.h presence... yes checking for termcap.h... yes checking termios.h usability... yes checking termios.h presence... yes checking for termios.h... yes checking termio.h usability... yes checking termio.h presence... yes checking for termio.h... yes checking sys/file.h usability... yes checking sys/file.h presence... yes checking for sys/file.h... yes checking locale.h usability... yes checking locale.h presence... yes checking for locale.h... yes checking for memory.h... (cached) yes checking for type of signal functions... posix checking if signal handlers must be reinstalled when invoked... yes checking for presence of POSIX-style sigsetjmp/siglongjmp... present checking for lstat... Broadcast message from root (console) (Tue Oct 4 12:32:33 2005): The system is going down for reboot NOW! yes checking whether or not strcoll and strcmp differ... no
This bug can be demonstrated on a PowerMac7,3 2x2300.0 (PPC970FX). It is definately not related to bug #100023 as I modified "linux/drivers/macintosh/therm_pm72.c" to make the fan run at full speed (which eliminates the problem experienced in bug #100023). The bug (#108060) can still be replicated even when both CPUs are relatively cool ( < 69C). Unfortunately I cannot test this bug on kernel 2.6.9 as a bug in that version of the kernel (in the i2c-keywest driver IIRC) causes a panic during boot.
I managed to replicate this bug on kernel-2.6.9-r9.
Created attachment 69937 [details] config.log from failing emerge
Created attachment 70108 [details] diff between the old and new emerge -e pkgs
I've been trying to recreate this on my power3 but to no avail. into one of my spare testing partitions unpackage stage3, chroot, emerge -u system, emerge sys-libs/readline ... nothing .... curious!
I think it needs to be a 2005.1 chroot with current portage for it to fail Tom. Also, I was able to circumvent the problem with: FEATURES="-sandbox -usersandbox" emerge sys-libs/readline but I still dont know the cause of the problem. Help!
I just build stage1, stage2, stage3 with glibc-2.3.6-r3 and they built fine. seems like this was fixed upstream. Please reopen if someone can reproduce this with a glibc version >2.3.5.