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 occur with processes that use chroot or those that run in a container. In such cases, you must restart the process to apply any available updates. For example, to restart the rtkit-daemon service, you would use the systemctl 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 the chrooted environment.

  • Ksplice can't patch applications that use either setcontext or swapcontext from glibc to perform user space context switching between process threads.

  • Because of certain kernel limitations, Ksplice doesn't patch the init process (PID 1).

    On Oracle Linux 7 and later, the init process, which is systemd, is automatically run again on system updates, so it doesn't require patching with Ksplice.