(Illustration by Gaich Muramatsu)
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 <pin_at_math.chalmers.se>Received on 2001-10-20 13:03:09