Limitations of the Ksplice Enhanced Client
Be aware of the following important Oracle Ksplice limitations:
-
Ksplice reports an error similar to the following if it can't apply updates to processes that don't have access to the
/var/cache/ksplice
directory:Ksplice was unable to load the update as the target process is in a different mount namespace or has changed root. The service must be restarted to apply on-disk updates. Extra information: the process has changed root or mount namespace. └─ rtkit-daemon (3680)
This error might typically occur with processes that use
chroot
or those that run in an LXC or Docker container. In such cases, you must restart the process to apply any available updates. For example, to restart thertkit-daemon
service, you would use thesystemctl restart rtkit-daemon
command.To avoid restarting a
chrooted
application that you maintain and compile, ensure that the/var/cache/ksplice
directory is bind-mounted in thechrooted
environment. -
Ksplice can't patch applications that use either
setcontext
orswapcontext
fromglibc
to perform user space context switching between process threads. -
Because of certain kernel limitations, Ksplice doesn't patch the
init
process (PID1
).On Oracle Linux 7 and later, the
init
process, which issystemd
, is automatically run again on system updates, so it doesn't require patching with Ksplice.On Oracle Linux 6, Upstart isn't capable of running itself again, so any updates to
glibc
that can affect Upstart might require a reboot.