Hello!

As I am playing with software placement on Coda, I have lots of wrapper
scripts doing exec of each other and of binaries.

The pathnames of both binaries and wrappers are about 60-90 characters, 10
to 15 levels deep.

One strange thing is that if I put a symlink somewhere in the path:

/coda/a.../b.../c..../name/d..../e..../f..../wrapper

 change to

/coda/a.../b.../c..../name1/d..../e..../f..../wrapper
 and make a link
/coda/a.../b.../c..../name -> name1

then the first path "works as it should", but I get a very high (20 to
100%), indeterministic failure rate (exec: file not found, exec: bad
interpreter, no such file or directory).

It happens when one script starts several others (all of them have this
symlink in a common part of the path), partly in parallel - not more than
5 processes (xclients) though.
If I run the failed script manually, it does not show an error, or rather
it does but with much less probability (when a script is run alone).

Otherwise, the effect is very clear and persistent.

If I do not use symlinks in such long paths, the system looks quite
stable.

It does not depend on the particular client, at least I see no difference
between the following:

Debian Linux, 2.4.9, Coda kernel module 5.3.14, venus 5.3.15, Intel 486-66,32Mb
Debian Linux, 2.4.4, Coda kernel module 5.3.14, venus 5.3.15, Intel P166,64Mb

Server - 5.3.15 on P100.

It doesn't matter if the files are present in the cache.

Any ideas? (I suppose it is a weird combination of kernel actions
while starting interpreters and venus<-->kernel race conditions...)

Regards,
--
Ivan Popov <[EMAIL PROTECTED]>


Reply via email to