ken@gvax.cs.cornell.edu (Ken Birman) (06/21/89)
I just want to bring to people's attention a problem that we ran into here at Cornell. On SUN OS 4.0.x the binary file from which a program was loaded continues to be used AFTER the program starts running, at least when you allow the dynamic linkage stuff to be used (which is the default now for this release of SUN OS). At Cornell, we tend to install new ISIS versions and recompile them without shutting the old versions down. The problem this can cause is that the old executable images will generally not match exactly with the new binaries, and whenever this is the case, the running program has a good chance of dying with some awful error message. For example, it would be very common to find that an ISIS left running while you recompiled will suddenly die with a bus error, segmentation fault, infinite loop, or whatever -- just when the linker installs the new binary image. This is not an ISIS problem, but rather is a SUN "feature". All I can suggest is that you do an "isis -Z" before installing a new version in a place you are running ISIS out of. If anyone know of something we should do in our makefile to prevent this from happening, let me know. Does anyone know exactly what SUN OS is doing? Is this tied to use of NFS somehow? Ken