On Jan 26, 2001, Martin Buchholz <martin(a)xemacs.org> wrote:
AO> I don't know. I don't encounter the limit with any system calls, I
AO> think it's just with pathname canonicalization as done by XEmacs. I
AO> don't encounter any problem with GNU Emacs either. In fact, whenever
AO> XEmacs fails to open a file with this kind of complaint, I go open it
AO> with GNU Emacs and it works. Same machine, same pathname.
Hmmmm. Sure sounds like an XEmacs bug. The only thing I can think
of
is ... automounter breakage?
A bug like this should be easy to fix. If one can reproduce it.
Ok, I have managed to get rid of the problem by not using realpath()
from glibc, using the one in XEmacs' sources instead.
The original pathname was
/home/guarana/aoliva/.lsd/public_html/contact where:
/home -> l/h
/l/h/guarana -> ../home/guarana
/l/home/guarana/aoliva/.lsd -> /home/lsd/oliva
/l/h/lsd -> /net/home.lsd.ic.unicamp.br/l/home/lsd
/net/home.lsd.ic.unicamp.br -> /.automount/home/root
/.automount/home/root/l/home -> x/home
/.automount/home/root/l/x/home/lsd/oliva/public_html -> /home/phd/oliva/public_html
/l/x/phd -> /net/eufrates/l/phd01
/net/eufrates -> /.automount/eufrates/root
Heh :-) No surprise it got in trouble :-)
The problem was that realpath() returned -1 for the full pathname.
Then, XEmacs attempted to iterate over each pathname component, but,
when it got to /l/home/guarana/aoliva/.lsd, realpath() returned -1.
resolved_path contained /net/home.lsd.ic.unicamp.br, and errno was
ELOOP.
Uli, is this a known problem? (Red Hat Linux 7's glibc 2.2-12) Any
chance of bumping up the maximum number of soft-links realpath()
follows (or whatever condition it uses to decide that it's got an
ELOOP), so that I don't have to rework my *apparently* insane
soft-link maze? :-)
Note that this is just one of the cases in which it fails for me.
I've got dozens of other examples, if you care...
Oh! And the only reason why GNU Emacs doesn't fail similarly is that
it just doesn't use realpath for pathname canonicalization.
--
Alexandre Oliva Enjoy Guarana', see
http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva(a){cygnus.com, redhat.com}
CS PhD student at IC-Unicamp oliva(a){lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist *Please* write to mailing lists, not to me