1 |
On Mon, 2005-08-01 at 17:24 -0700, Zac Medico wrote: |
2 |
|
3 |
Hi Zac, |
4 |
|
5 |
> Hi Jules, |
6 |
> |
7 |
> Jules Colding wrote: |
8 |
> > Hi, |
9 |
> > |
10 |
> > I can't emerge mozilla-1.7.10-r1. I don't know if this is just me or if |
11 |
> > anyone else is seeing the same, but here is what I got. Output and info |
12 |
> > below. |
13 |
|
14 |
<snip (lots of text)> |
15 |
|
16 |
> What was the solution to the segault that you reported when you tried |
17 |
> to remerge automake and autoconf? |
18 |
|
19 |
There are still occasional segfaults during "mkdir -p" operations in the |
20 |
mkinstalldirs script when I do "make install" of various packages. I |
21 |
have no clue why but re-running "make install" makes make pass over |
22 |
where the error was and continue. Very weird indeed... |
23 |
|
24 |
> If you suspect hardware problems then you should try the memtest |
25 |
> script mentioned by Francesco in this thread: |
26 |
|
27 |
I did something like that. I emerged memtest86plus as a boot option and |
28 |
let it do its thing during the night. It didn't find anything though. |
29 |
|
30 |
I tried the aforementioned script just to see if that picked up |
31 |
anything. Lo and behold... it segfaulted in mkdir. I am beginning to |
32 |
suspect a subtle reiserfs (mounted with noatime and notail) bug as I am |
33 |
only seeing segfaults with mkdir and only under high load. There was |
34 |
something in /var/log/messages as well. Script, output, log and info |
35 |
below. |
36 |
|
37 |
Regards, |
38 |
jules |
39 |
|
40 |
|
41 |
##### memtest.sh ##### |
42 |
#!/bin/bash |
43 |
# |
44 |
# memtest.sh |
45 |
# |
46 |
# Shell script to help isolate memory failures under linux |
47 |
# |
48 |
# Author: Doug Ledford + contributors |
49 |
# |
50 |
# (C) Copyright 2000-2002 Doug Ledford; Red Hat, Inc. |
51 |
# This shell script is released under the terms of the GNU General |
52 |
# Public License Version 2, June 1991. If you do not have a copy |
53 |
# of the GNU General Public License Version 2, then one may be |
54 |
# retrieved from http://people.redhat.com/dledford/GPL.html |
55 |
# |
56 |
# Note, this needs bash2 for the wait command support. |
57 |
|
58 |
# This is where we will run the tests at |
59 |
TEST_DIR=/home/colding/tmp |
60 |
|
61 |
# The location of the linux kernel source file we will be using |
62 |
if [ -z "$SOURCE_FILE" ]; then |
63 |
SOURCE_FILE=$TEST_DIR/linux.tar.gz |
64 |
fi |
65 |
|
66 |
if [ ! -f "$SOURCE_FILE" ]; then |
67 |
echo "Missing source file $SOURCE_FILE" |
68 |
exit 1 |
69 |
fi |
70 |
|
71 |
# How many passes to run of this test, higher numbers are better |
72 |
if [ -z "$NR_PASSES" ]; then |
73 |
NR_PASSES=1 |
74 |
fi |
75 |
|
76 |
# Guess how many megs the unpacked archive is |
77 |
if [ -z "$MEG_PER_COPY" ]; then |
78 |
MEG_PER_COPY=$(ls -l $SOURCE_FILE | awk '{print int($5/1024/1024) * 4}') |
79 |
fi |
80 |
|
81 |
# How many trees do we have to unpack in order to make our trees be larger |
82 |
# than physical RAM? If we don't unpack more data than memory can hold |
83 |
# before we start to run the diff program on the trees then we won't |
84 |
# actually flush the data to disk and force the system to reread the data |
85 |
# from disk. Instead, the system will do everything in RAM. That doesn't |
86 |
# work (as far as the memory test is concerned). It's the simultaneous |
87 |
# unpacking of data in memory and the read/writes to hard disk via DMA that |
88 |
# breaks the memory subsystem in most cases. Doing everything in RAM without |
89 |
# causing disk I/O will pass bad memory far more often than when you add |
90 |
# in the disk I/O. |
91 |
if [ -z "$NR_SIMULTANEOUS" ]; then |
92 |
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))}') |
93 |
fi |
94 |
|
95 |
# Should we unpack/diff the $NR_SIMULTANEOUS trees in series or in parallel? |
96 |
if [ ! -z "$PARALLEL" ]; then |
97 |
PARALLEL="yes" |
98 |
else |
99 |
PARALLEL="no" |
100 |
fi |
101 |
PARALLEL="yes" |
102 |
|
103 |
if [ ! -z "$JUST_INFO" ]; then |
104 |
echo "TEST_DIR: $TEST_DIR" |
105 |
echo "SOURCE_FILE: $SOURCE_FILE" |
106 |
echo "NR_PASSES: $NR_PASSES" |
107 |
echo "MEG_PER_COPY: $MEG_PER_COPY" |
108 |
echo "NR_SIMULTANEOUS: $NR_SIMULTANEOUS" |
109 |
echo "PARALLEL: $PARALLEL" |
110 |
echo |
111 |
exit |
112 |
fi |
113 |
|
114 |
cd $TEST_DIR |
115 |
|
116 |
# Remove any possible left over directories from a cancelled previous run |
117 |
rm -fr linux linux.orig linux.pass.* |
118 |
|
119 |
# Unpack the one copy of the source tree that we will be comparing against |
120 |
tar -xzf $SOURCE_FILE |
121 |
mv linux linux.orig |
122 |
|
123 |
i=0 |
124 |
while [ "$i" -lt "$NR_PASSES" ]; do |
125 |
j=0 |
126 |
while [ "$j" -lt "$NR_SIMULTANEOUS" ]; do |
127 |
if [ $PARALLEL = "yes" ]; then |
128 |
(mkdir $j; tar -xzf $SOURCE_FILE -C $j; mv $j/linux linux.pass.$j; rmdir $j) & |
129 |
else |
130 |
tar -xzf $SOURCE_FILE |
131 |
mv linux linux.pass.$j |
132 |
fi |
133 |
j=`expr $j + 1` |
134 |
done |
135 |
wait |
136 |
j=0 |
137 |
while [ "$j" -lt "$NR_SIMULTANEOUS" ]; do |
138 |
if [ $PARALLEL = "yes" ]; then |
139 |
(diff -U 3 -rN linux.orig linux.pass.$j; rm -fr linux.pass.$j) & |
140 |
else |
141 |
diff -U 3 -rN linux.orig linux.pass.$j |
142 |
rm -fr linux.pass.$j |
143 |
fi |
144 |
j=`expr $j + 1` |
145 |
done |
146 |
wait |
147 |
i=`expr $i + 1` |
148 |
done |
149 |
|
150 |
# Clean up after ourselves |
151 |
rm -fr linux linux.orig linux.pass.* |
152 |
|
153 |
|
154 |
##### Complete script output ##### |
155 |
./memtest.sh: line 107: 19536 Segmentation fault mkdir $j |
156 |
./memtest.sh: line 107: 19553 Segmentation fault mkdir $j |
157 |
Inconsistency detected by ld.so: dynamic-link.h: 151: elf_get_dynamic_info: Assertion `info[20]->d_un.d_val == 7' failed! |
158 |
Inconsistency detected by ld.so: dynamic-link.h: 151: elf_get_dynamic_info: Assertion `info[20]->d_un.d_val == 7' failed! |
159 |
Inconsistency detected by ld.so: dynamic-link.h: 151: elf_get_dynamic_info: Assertion `info[20]->d_un.d_val == 7' failed! |
160 |
Inconsistency detected by ld.so: dynamic-link.h: 151: elf_get_dynamic_info: Assertion `info[20]->d_un.d_val == 7' failed! |
161 |
Inconsistency detected by ld.so: dynamic-link.h: 151: elf_get_dynamic_info: Assertion `info[20]->d_un.d_val == 7' failed! |
162 |
Inconsistency detected by ld.so: dynamic-link.h: 151: elf_get_dynamic_info: Assertion `info[20]->d_un.d_val == 7' failed! |
163 |
Inconsistency detected by ld.so: dynamic-link.h: 151: elf_get_dynamic_info: Assertion `info[20]->d_un.d_val == 7' failed! |
164 |
|
165 |
|
166 |
##### /var/log/messages snippet ##### |
167 |
Aug 2 10:43:33 omc-2 [393507.742750] mkdir[19536]: segfault at 0000000000000000 rip 000000000040184d rsp 00007fffffe2c4b0 error 4 |
168 |
Aug 2 10:43:33 omc-2 [393507.818660] mkdir[19553]: segfault at 0000000000000000 rip 000000000040184d rsp 00007ffffffdb2e0 error 4 |
169 |
|
170 |
|
171 |
##### emerge --info ##### |
172 |
omc-2 tmp # emerge --info |
173 |
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) |
174 |
================================================================= |
175 |
System uname: 2.6.12-gentoo-r6 x86_64 AMD Opteron(tm) Processor 252 |
176 |
Gentoo Base System version 1.6.13 |
177 |
dev-lang/python: 2.3.5 |
178 |
sys-apps/sandbox: 1.2.11 |
179 |
sys-devel/autoconf: 2.13, 2.59-r6 |
180 |
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5 |
181 |
sys-devel/binutils: 2.15.92.0.2-r10 |
182 |
sys-devel/libtool: 1.5.18-r1 |
183 |
virtual/os-headers: 2.6.11-r2 |
184 |
ACCEPT_KEYWORDS="amd64" |
185 |
AUTOCLEAN="yes" |
186 |
CBUILD="x86_64-pc-linux-gnu" |
187 |
CFLAGS="-march=k8 -O2 -pipe" |
188 |
CHOST="x86_64-pc-linux-gnu" |
189 |
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" |
190 |
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" |
191 |
CXXFLAGS="-march=k8 -O2 -pipe" |
192 |
DISTDIR="/usr/portage/distfiles" |
193 |
FEATURES="autoconfig distlocks sandbox sfperms strict" |
194 |
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" |
195 |
MAKEOPTS="-j1" |
196 |
PKGDIR="/usr/portage/packages" |
197 |
PORTAGE_TMPDIR="/var/tmp" |
198 |
PORTDIR="/usr/portage" |
199 |
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" |
200 |
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" |
201 |
Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY |
202 |
|
203 |
|
204 |
|
205 |
-- |
206 |
gentoo-user@g.o mailing list |