Daemons die with bus error when their binaries live on NFS

Posted by mbac32768 on Server Fault See other posts from Server Fault or by mbac32768
Published on 2010-06-30T17:16:38Z Indexed on 2010/12/30 6:56 UTC
Read the original article Hit count: 288

Filed under:
|
|

We have some daemons executing on a number of hosts.

The daemon executable images are these very large binaries that are hosted on NFS.

When the binaries are updated on the NFS server, the previously running daemons sometimes drop dead with a Bus error. I'm assuming what's happening is the NFS server is replacing the binaries in a way that's invisible to the VFS layer on the NFS clients so they end up loading pages from the updated binary, which of course leads to madness.

We tried moving the new binaries into place instead of cp, but that doesn't seem to fix it.

I'm considering simply mlock()'ing the binary in the daemon startup script, but surely there's magic NFS options or semantics that we should be abusing. Is there a better way to fix this?

© Server Fault or respective owner

Related posts about error

Related posts about nfs