This strange behavior occurs when I replace the shared library object of a running process which causes the whole operating system to become inoperable with load avg values close to 40.
I don't lose responsiveness in the console, but I'm unable to kill any process or do any task to recover the OS from the disaster state. The only solution is to reboot the machine or to wait a substantial amount of time until it fully recovers.
My guess is that after replacing the .so, the process segfaults, but since the core dumping function is active, it has to retrieve all the memory state of 64 forked children and write that down to disk. Can this be causing the problem?
SIGBUS
, and notSIGSEGV
, when code is paged out and the file containing it has been modified.