[OpenAFS-devel] Interesting AFS Issue
Derek Atkins
warlord@MIT.EDU
12 Nov 2002 09:20:40 -0500
I was "offline" last weekend, but I was trying to get work done on my
laptop. I've got a set of local compilers and other fun joys
installed. However, even though 'gcc' and everything else I need is
installed locally, it wasn't working when I tried to use it offline.
It was, in fact, complaining about 'as' not being found. Similarly, a
"make" was complaining about 'rm' not being found. For example:
--> strace -o /tmp/gcc.out gcc3 -o /tmp/test.o /tmp/test.c
gcc3: installation problem, cannot exec `as': Connection timed out
I ran 'which as' and 'which rm' and both returned "local" results
(/usr/bin/as and /bin/rm). Both were in my path.. So, why was gcc
and make failing?
I ran an strace... Here are the interesting bits:
9677 fork() = 9679
9677 wait4(-1, <unfinished ...>
9679 execve("/opt/intltool-0.22/bin/as", ["as", "-Qy", "-o", "/tmp/ccshEscR.o", "/tmp/cc8lcfBP.s"], [/* 54 vars */]) = -1 ENOENT (No such file or directory)
9679 execve("/opt/g-wrap-1.3.2/bin/as", ["as", "-Qy", "-o", "/tmp/ccshEscR.o", "/tmp/cc8lcfBP.s"], [/* 54 vars */]) = -1 ENOENT (No such file or directory)
9679 execve("/opt/j2sdk1.3.1/bin/as", ["as", "-Qy", "-o", "/tmp/ccshEscR.o", "/tmp/cc8lcfBP.s"], [/* 54 vars */]) = -1 ENOENT (No such file or directory)
9679 execve("/opt/gnucash-cvs/bin/as", ["as", "-Qy", "-o", "/tmp/ccshEscR.o", "/tmp/cc8lcfBP.s"], [/* 54 vars */]) = -1 ENOENT (No such file or directory)
9679 execve("/opt/gnome-utils-1.4.1.2/bin/as", ["as", "-Qy", "-o", "/tmp/ccshEscR.o", "/tmp/cc8lcfBP.s"], [/* 54 vars */]) = -1 ENOENT (No such file or directory)
9679 execve("/opt/glade-0.6.4/bin/as", ["as", "-Qy", "-o", "/tmp/ccshEscR.o", "/tmp/cc8lcfBP.s"], [/* 54 vars */]) = -1 ENOENT (No such file or directory)
9679 execve("/usr/athena/bin/as", ["as", "-Qy", "-o", "/tmp/ccshEscR.o", "/tmp/cc8lcfBP.s"], [/* 54 vars */]) = -1 ENOENT (No such file or directory)
9679 execve("/afs/sipb.mit.edu/user/warlord/bin/as", ["as", "-Qy", "-o", "/tmp/ccshEscR.o", "/tmp/cc8lcfBP.s"], [/* 54 vars */]) = -1 ETIMEDOUT (Connection timed out)
9679 write(2, "gcc3: ", 6) = 6
9679 write(2, "installation problem, cannot exe"..., 38) = 38
9679 write(2, ": Connection timed out\n", 23) = 23
9679 _exit(-1) = ?
As you can see, the "Connection Timed Out" return code on the search
path is causing both gcc _AND_ make to fail! Who knows what other
applications are going to die in this manner. I'm not sure if there
is a good way to fix this in AFS unless we change the error code --
changing all the affected applications may be a LOT of work.
I'm running: -stat 10000 -daemons 4 -volumes 200 -afsdb -dynroot -fakestat
-derek
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
warlord@MIT.EDU PGP key available