On Mon, 2005-08-01 at 17:24 -0700, Zac Medico wrote:

Hi Zac,

> Hi Jules,
> 
> Jules Colding wrote:
> > Hi,
> > 
> > I can't emerge mozilla-1.7.10-r1. I don't know if this is just me or if
> > anyone else is seeing the same, but here is what I got. Output and info
> > below.

<snip (lots of text)>

> What was the solution to the segault that you reported when you tried
> to remerge automake and autoconf?

There are still occasional segfaults during "mkdir -p" operations in the
mkinstalldirs script when I do "make install" of various packages. I
have no clue why but re-running "make install" makes make pass over
where the error was and continue. Very weird indeed...

> If you suspect hardware problems then you should try the memtest
> script mentioned by Francesco in this thread:

I did something like that. I emerged memtest86plus as a boot option and
let it do its thing during the night. It didn't find anything though.

I tried the aforementioned script just to see if that picked up
anything. Lo and behold... it segfaulted in mkdir. I am beginning to
suspect a subtle reiserfs (mounted with noatime and notail) bug as I am
only seeing segfaults with mkdir and only under high load. There was
something in /var/log/messages as well. Script, output, log and info
below.

Regards,
  jules


##### memtest.sh #####
#!/bin/bash
#
# memtest.sh
#
# Shell script to help isolate memory failures under linux
#
# Author: Doug Ledford  + contributors
#
# (C) Copyright 2000-2002 Doug Ledford; Red Hat, Inc.
# This shell script is released under the terms of the GNU General
# Public License Version 2, June 1991.  If you do not have a copy
# of the GNU General Public License Version 2, then one may be
# retrieved from http://people.redhat.com/dledford/GPL.html
#
# Note, this needs bash2 for the wait command support.

# This is where we will run the tests at
TEST_DIR=/home/colding/tmp

# The location of the linux kernel source file we will be using
if [ -z "$SOURCE_FILE" ]; then
  SOURCE_FILE=$TEST_DIR/linux.tar.gz
fi

if [ ! -f "$SOURCE_FILE" ]; then
  echo "Missing source file $SOURCE_FILE"
  exit 1
fi

# How many passes to run of this test, higher numbers are better
if [ -z "$NR_PASSES" ]; then
  NR_PASSES=1
fi

# Guess how many megs the unpacked archive is
if [ -z "$MEG_PER_COPY" ]; then
  MEG_PER_COPY=$(ls -l $SOURCE_FILE | awk '{print int($5/1024/1024) * 4}')
fi

# How many trees do we have to unpack in order to make our trees be larger
# than physical RAM?  If we don't unpack more data than memory can hold
# before we start to run the diff program on the trees then we won't
# actually flush the data to disk and force the system to reread the data
# from disk.  Instead, the system will do everything in RAM.  That doesn't
# work (as far as the memory test is concerned).  It's the simultaneous
# unpacking of data in memory and the read/writes to hard disk via DMA that
# breaks the memory subsystem in most cases.  Doing everything in RAM without
# causing disk I/O will pass bad memory far more often than when you add
# in the disk I/O.
if [ -z "$NR_SIMULTANEOUS" ]; then
  NR_SIMULTANEOUS=$(free | awk -v meg_per_copy=$MEG_PER_COPY 'NR == 2 {print 
int($2*1.5/1024/meg_per_copy + (($2/1024)%meg_per_copy >= (meg_per_copy/2)) + 
(($2/1024/32) < 1))}')
fi

# Should we unpack/diff the $NR_SIMULTANEOUS trees in series or in parallel?
if [ ! -z "$PARALLEL" ]; then
  PARALLEL="yes"
else
  PARALLEL="no"
fi
PARALLEL="yes"

if [ ! -z "$JUST_INFO" ]; then
  echo "TEST_DIR:               $TEST_DIR"
  echo "SOURCE_FILE:            $SOURCE_FILE"
  echo "NR_PASSES:              $NR_PASSES"
  echo "MEG_PER_COPY:           $MEG_PER_COPY"
  echo "NR_SIMULTANEOUS:        $NR_SIMULTANEOUS"
  echo "PARALLEL:               $PARALLEL"
  echo
  exit
fi

cd $TEST_DIR

# Remove any possible left over directories from a cancelled previous run
rm -fr linux linux.orig linux.pass.*

# Unpack the one copy of the source tree that we will be comparing against
tar -xzf $SOURCE_FILE
mv linux linux.orig

i=0
while [ "$i" -lt "$NR_PASSES" ]; do
  j=0
  while [ "$j" -lt "$NR_SIMULTANEOUS" ]; do
    if [ $PARALLEL = "yes" ]; then
      (mkdir $j; tar -xzf $SOURCE_FILE -C $j; mv $j/linux linux.pass.$j; rmdir 
$j) &
    else
      tar -xzf $SOURCE_FILE
      mv linux linux.pass.$j
    fi
    j=`expr $j + 1`
  done
  wait
  j=0
  while [ "$j" -lt "$NR_SIMULTANEOUS" ]; do
    if [ $PARALLEL = "yes" ]; then
      (diff -U 3 -rN linux.orig linux.pass.$j; rm -fr linux.pass.$j) &
    else
      diff -U 3 -rN linux.orig linux.pass.$j
      rm -fr linux.pass.$j
    fi
    j=`expr $j + 1`
  done
  wait
  i=`expr $i + 1`
done

# Clean up after ourselves
rm -fr linux linux.orig linux.pass.*


##### Complete script output #####
./memtest.sh: line 107: 19536 Segmentation fault      mkdir $j
./memtest.sh: line 107: 19553 Segmentation fault      mkdir $j
Inconsistency detected by ld.so: dynamic-link.h: 151: elf_get_dynamic_info: 
Assertion `info[20]->d_un.d_val == 7' failed!
Inconsistency detected by ld.so: dynamic-link.h: 151: elf_get_dynamic_info: 
Assertion `info[20]->d_un.d_val == 7' failed!
Inconsistency detected by ld.so: dynamic-link.h: 151: elf_get_dynamic_info: 
Assertion `info[20]->d_un.d_val == 7' failed!
Inconsistency detected by ld.so: dynamic-link.h: 151: elf_get_dynamic_info: 
Assertion `info[20]->d_un.d_val == 7' failed!
Inconsistency detected by ld.so: dynamic-link.h: 151: elf_get_dynamic_info: 
Assertion `info[20]->d_un.d_val == 7' failed!
Inconsistency detected by ld.so: dynamic-link.h: 151: elf_get_dynamic_info: 
Assertion `info[20]->d_un.d_val == 7' failed!
Inconsistency detected by ld.so: dynamic-link.h: 151: elf_get_dynamic_info: 
Assertion `info[20]->d_un.d_val == 7' failed!


##### /var/log/messages snippet #####
Aug  2 10:43:33 omc-2 [393507.742750] mkdir[19536]: segfault at 
0000000000000000 rip 000000000040184d rsp 00007fffffe2c4b0 error 4
Aug  2 10:43:33 omc-2 [393507.818660] mkdir[19553]: segfault at 
0000000000000000 rip 000000000040184d rsp 00007ffffffdb2e0 error 4


##### emerge --info #####
omc-2 tmp # emerge --info
Portage 2.0.51.22-r2 (default-linux/amd64/2005.0, gcc-3.4.3, glibc-2.3.5-r0, 
2.6.12-gentoo-r6 x86_64)
=================================================================
System uname: 2.6.12-gentoo-r6 x86_64 AMD Opteron(tm) Processor 252
Gentoo Base System version 1.6.13
dev-lang/python:     2.3.5
sys-apps/sandbox:    1.2.11
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-r10
sys-devel/libtool:   1.5.18-r1
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config 
/usr/lib/X11/xkb /usr/lib64/mozilla/defaults/pref /usr/share/config 
/usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ 
/usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ 
/usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=k8 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ 
http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ 
http://pandemonium.tiscali.de/pub/gentoo/ 
ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo http://mirror.gentoo.no/ 
http://gentoo.prz.rzeszow.pl http://ftp.du.se/pub/os/gentoo 
ftp://mirror.pudas.net/gentoo";
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="amd64 X aac aalib alsa avi berkdb bitmap-fonts bzip2 cdr crypt cups curl 
dvd dvdr dvdread eds emacs encode esd fam fbcon foomaticdb fortran gdbm gif 
gnome gstreamer gtk gtk2 hal iconv imlib ipv6 jpeg ldap libwww lzw lzw-tiff mad 
mozilla mp3 mpeg ncurses nls nptl nptlonly nvidia ogg opengl oss pam pdflib 
perl png python quicktime readline sdl spell ssl symlink tcltk tcpd tetex 
theora tiff truetype-fonts type1-fonts unicode usb userlocales vorbis xine xml2 
xmms xpm xv xvid zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY



-- 
[email protected] mailing list

Reply via email to