2.2 Known Issues

This section describes the known issues in this update.

Updating Oracle Linux Fails if the kernel-uek Package Cannot Be Updated

By default, the installation of Oracle Linux includes the dtrace-modules package for UEK R3. This package requires a specific kernel-uek version. However, a yum update fails if it cannot update the kernel-uek package when the installonly_limit of three updates is reached as the dtrace-modules package does not allow the existing kernel-uek packages to be removed. yum displays an error message similar to the following example:

--> Finished Dependency Resolution
Error: Package: kernel-uek-debug-3.8.13-55.1.1.el6uek.x86_64 (public_ol6_UEKR3_latest)
          Requires: kernel-firmware = 3.8.13-55.1.1.el6uek

The workaround is to remove any existing dtrace-modules packages before updating the kernel-uek package, for example:

# for package in `rpm -qa | grep dtrace-modules`; do yum remove -y $package; done

When you have removed all dtrace-modules packages, you can update Oracle Linux, including the UEK R3 kernel. If you want to use DTrace with UEK R3, reinstall the dtrace-modules package for the current kernel:

# yum install dtrace-modules-`uname -r`

(Bug ID 21669543)

ACPI

The following messages indicate that the BIOS does not present a suitable interface, such as _PSS or _PPC, that the acpi-cpufreq module requires:

kernel: powernow-k8: this CPU is not supported anymore, using acpi-cpufreq instead.
modprobe: FATAL: Error inserting acpi_cpufreq 

There is no known workaround for this error. (Bug ID 17034535)

btrfs

  • If you use the --alloc-start option with mkfs.btrfs to specify an offset for the start of the file system, the size of the file system should be smaller but this is not the case. It is also possible to specify an offset that is higher than the device size. (Bug ID 16946255)

  • The usage information for mkfs.btrfs reports raid5 and raid6 as possible profiles for both data and metadata. However, the kernel does not support these features and cannot mount file systems that use them. (Bug ID 16946303)

  • The btrfs filesystem balance command does not warn that the RAID level can be changed under certain circumstances, and does not provide the choice of cancelling the operation. (Bug ID 16472824)

  • Converting an existing ext2, ext3, or ext4 root file system to btrfs does not carry over the associated security contexts that are stored as part of a file's extended attributes. With SELinux enabled and set to enforcing mode, you might experience many permission denied errors after reboot, and the system might be unbootable. To avoid this problem, enforce automatic file system relabeling to run at bootup time. To trigger automatic relabeling, create an empty file named .autorelabel (for example, by using touch) in the file system's root directory before rebooting the system after the initial conversion. The presence of this file instruct SELinux to recreate the security attributes for all files on the file system. If you forget to do this and rebooting fails, either temporarily disable SELinux completely by adding selinux=0 to the kernel boot parameters, or disable enforcing of the SELinux policy by adding enforcing=0. (Bug ID 13806043)

  • Commands such as du can show inconsistent results for file sizes in a btrfs file system when the number of bytes that is under delayed allocation is changing. (Bug ID 13096268)

  • The copy-on-write nature of btrfs means that every operation on the file system initially requires disk space. It is possible that you cannot execute any operation on a disk that has no space left; even removing a file might not be possible. The workaround is to run sync before retrying the operation. If this does not help, remount the file system with the -o nodatacow option and delete some files to free up space. See https://btrfs.wiki.kernel.org/index.php/ENOSPC.

  • On Oracle Linux 6, btrfs has a limit of 237 or fewer hard links to a file from a single directory. The exact limit depends on the number of characters in the file name. The limit is 237 for a file with up to eight characters in its file name; the limit is lower for longer file names. Attempting to create more than this number of links results in the error Too many links. You can create more hard links to the same file from another directory. Although the limitation of the number of hard links in a single directory has been increased to 65535, the version of mkfs.btrfs that is provided in the btrfs-progs package does not yet support the compatibility flag for this feature. Oracle Linux 7 includes a later version of btrfs-progs package, which does support the increased number of hard links. (Bug ID 16285431)

  • If you run the btrfs quota enable command on a non-empty file system, any existing files do not count toward space usage. Removing these files can cause usage reports to display negative numbers and the file system to be inaccessible. The workaround is to enable quotas immediately after creating the file system. If you have already written data to the file system, it is too late to enable quotas. (Bug ID 16569350)

  • The btrfs quota rescan command is not currently implemented. The command does not perform a rescan and returns without displaying any message. (Bug ID 16569350)

  • When you overwrite data in a file, starting somewhere in the middle of the file, the overwritten space is counted twice in the space usage numbers that btrfs qgroup show displays. (Bug ID 16609467)

  • If you run btrfsck --init-csum-tree on a file system and then run a simple btrfsck on the same file system, the command displays a Backref mismatch error that was not previously present. (Bug ID 16972799)

  • If you use the -s option to specify a sector size to mkfs.btrfs that is different from the page size, the created file system cannot be mounted. By default, the sector size is set to be the same as the page size. (Bug ID 17087232)

  • Defragmentation can break data block sharing. Due to the copy-on-write design of btrfs, snapshots initially share the same data blocks of the original subvolume. However, when either the snapshot or the subvolume is defragmented, this sharing can be undone, resulting in a higher disk space usage.

dm-nfs Module Obsolete

In UEK R2, the dm-nfs module provided the ability to create a loopback device for a mounted NFS file or file system. For example, the feature allowed you to create the shared storage for an Oracle 3 VM cluster on an NFS file system. The dm-nfs module provided direct I/O to the server and bypassed the loop driver to avoid an additional level of page caching. The dm-nfs module is not provided with UEK R3. The loop driver can now provide the same I/O functionality as dm-nfs by extending the AIO interface to perform direct I/O. To create the loopback device, use the losetup command instead of dmsetup.

DTrace

  • Using kill -9 to terminate dtrace can leave breakpoints outstanding in processes being traced, which might sooner or later kill them.

  • Argument declarations for probe definitions cannot be declared with derived types such as enum, struct, or union.

  • The following compiler warning can be ignored for probe definition arguments of type string (which is a D type but not a C type):

    provider_def.h:line#: warning: parameter names (without types) in function declaration

ERST Message

You can safely ignore the following message that might be displayed in syslog or dmesg:

ERST: Failed to get Error Log Address Range.

The message indicates that the system BIOS does not support an Error Record Serialization Table (ERST). (Bug ID 17034576)

Ext4

The inline data feature that allows the data of small files to be stored inside their inodes is not yet available. The -O inline_data option to the mkfs.ext4 and tune2fs commands is not supported. (Bug ID 17210654)

Firmware Warning Message

You can safely ignore the following firmware warning message that might be displayed on some Sun hardware:

[Firmware Warn]: GHES: Poll interval is 0 for generic hardware error source:
1, disabled.

(Bug ID 13696512)

Huge Pages

One-gigabyte (1 GB) huge pages are not currently supported for the following configurations:

  • HVM guests

  • PV guests

  • Oracle Database

Two-megabyte (2 MB) huge pages have been tested and work with these configurations.

(Bug ID 17299364, 17299871, 17271305)

Hyper-V

The following known issues affect Oracle Linux virtual machines running on Hyper-V:

  • After you take a snapshot of a virtual machine and then use the Save action to save the virtual machine state, you might not be able to revert to the virtual machine to the snapshot using the Revert action. The workaround is to click on the last snapshot listed in the Snapshot area for the virtual machine, and then select Apply. (Bug ID 20110077)

  • Oracle Linux 7 virtual machines that use Legacy Network mode lose their network connectivity if more than one virtual CPU is configured. The workaround is to configure only one virtual CPU for Oracle Linux 7 virtual machines. (Bug ID 20110058)

  • Oracle Linux 6 virtual machines running on Windows Server 2012R2 display truncated messages during a system shutdown or reboot. (Bug ID Bug 20090500)

  • With Windows Server 2008R2, if you hot-add a VHD disk using a SCSI controller, the disk is detected multiple times after the virtual machine is rebooted. (Bug ID 19706977)

I/O Scheduler

The Unbreakable Enterprise Kernel uses the deadline scheduler as the default I/O scheduler. For the Red Hat Compatible Kernel, the default I/O scheduler is the cfq scheduler.

ioapic Failure Messages

You can safely ignore messages such as ioapic: probe of 0000:00:05.4 failed with error -22. Such messages are the result of the ioapic driver attempting to re-register I/O APIC PCI devices that were already registered at boot time. (Bug ID 17034993)

InfiniBand

  • You might see the following warning messages if you use the ibportstate disable command to disable a switch port:

    ibwarn: [2696] _do_madrpc: recv failed: Connection timed out
    ibwarn: [2696] mad_rpc: _do_madrpc failed; dport (Lid 38)
    ibportstate: iberror: failed: smp set portinfo failed

    You can safely ignore these warnings. (Bug ID 16248314)

  • The Internet Protocol over InfiniBand (IPoIB) driver supports the use of either connected mode or datagram mode with an interface, where datagram mode is the default mode. Changing the mode of an InfiniBand interface by echoing either connected or datagram to /sys/class/net/ibN/mode is not supported. It is also not possible to change the mode of an InfiniBand interface while it is enabled.

    To change the IPoIB mode of an InfiniBand interface:

    1. Edit the /etc/sysconfig/network-scripts/ifcfg-ibN configuration file, where N is the number of the interface:

      • To configure connected mode, specify CONNECTED_MODE=yes in the file.

      • To configure datagram mode, either specify CONNECTED_MODE=no in the file or do not specify this setting at all (datagram mode is enabled by default).

      Note

      Before saving your changes, make sure that you have not specified more than one setting for CONNECTED_MODE in the file.

    2. To enable the specified mode on the interface, use the following commands to take down the interface and bring it back up:

      # ifdown ibN
      # ifup ibN

    (Bug ID 17479833)

  • When the rds_ib_srq parameter for the rds_rdma module is enabled and the module is in use (for example when running the rds-stress tool), restarting the rdma service (which reloads the rds_rdma module) generates error messages visible in dmesg or /var/log/messages. (Bug ID 18243427)

Linux Containers (LXC)

  • The root user in a container can affect the configuration of the host system by setting some /proc entries. (Bug ID 17190287)

  • Using yum to update packages inside the container that use init scripts can undo changes made by the Oracle template.

  • Migrating live containers (lxc-checkpoint) is not yet supported.

  • Oracle Database is not yet supported for use with Linux Containers. The following information is intended for those who want to experiment with such a configuration.

    The following /proc parameter files may only be set on the host and not for individual containers:

    • /proc/sys/fs/aio-max-nr

    • /proc/sys/net/core/rmem_default

    • /proc/sys/net/core/rmem_max

    • /proc/sys/net/core/wmem_default

    • /proc/sys/net/core/wmem_max

    • /proc/sys/net/ipv4/ip_local_port_range

    Setting the parameters in the host to the Oracle recommended values sets them for all containers and allows the Oracle database to run in a container. For more information, see Configuring Kernel Parameters and Resource Limits. (Bug ID 17217854)

  • If a Device or resource busy - failed to set memory.use_hierarchy to 1 error message is displayed when you start a container, edit the /etc/cgconfig.conf file and add the following:

    group . {
    memory {
    memory.use_hierarchy = "1";
    }
    }

    (Bug ID 19237222)

Missing Documentation for PCIe Kernel Parameters

The following documentation for some PCIe kernel parameters is not included in the kernel-parameters.txt file in the kernel-uek-doc package:

pcie_bus_tune_off

Disable PCIe MPS (Max Payload Size) tuning and use the BIOS-configured MPS defaults.

pcie_bus_safe

Set every device's MPS to the largest value supported by all devices below the root complex.

pcie_bus_perf

Set device MPS to the largest allowable MPS based on its parent bus. Also set MRRS (Max Read Request Size) to the largest supported value (no larger than the MPS that the device or bus can support) for best performance.

pcie_bus_peer2peer

Set every device's MPS to 128B, which every device is guaranteed to support. This configuration allows peer-to-peer DMA between any pair of devices, possibly at the cost of reduced performance. This also guarantees that hot-added devices will work.

Mellanox Driver (mlx4_en)

The Mellanox mlx4_en driver fails to auto-sense the data link and, as a result, the driver is not automatically loaded. (Bug ID 20103438)

RDMA Does Not Load the mlx4_ib Module

If you enable the OFED stack and the RDMA service but the version of the RDMA package is lower than rdma‑3.10‑3.0.2.el6, the RDMA service does not load the mlx4_ib module automatically.

To configure the RDMA service to load the mlx4_ib module at boot time:

  1. Edit /etc/rdma/rdma.conf and set the entry MLX4_LOAD=yes in this file.

  2. To make the change take effect, restart the RDMA service or reboot the system.

sched_yield() Settings for CFS

For the Unbreakable Enterprise Kernel, kernel.sched_compat_yield=1 is set by default. For the Red Hat Compatible Kernel, kernel.sched_compat_yield=0 is used by default.

Slow Performance With Multipath Devices

Starting with UEK R2, the device mapper has had the capability to check whether the underlying storage device has advertised the need to flush the data that resides in the device's cache to its non-volatile storage. For a data integrity operation, such as fsync and sync, the operation will now need to include the time to flush the device's cache (if it is advertised). Such an operation will appear to be slower when compared to a previous older kernel, however this is the correct behavior. (Bug ID 17823743)

Soft Lockup Errors When Booting

When upgrading or installing the UEK R3 kernel on fast hardware, usually with SAN storage attached, the kernel can fail to boot and BUG: soft lockup messages are displayed in the console log. The workaround is to increase the baud rate from the default value of 9600 by amending the kernel boot line in /boot/grub/grub.conf to include an appropriate console setting, for example:

console=ttyS0,115200n8

A value of 115200 is recommended as smaller values such as 19200 are known to be insufficient for some systems (for example, see https://docs.oracle.com/cd/E19045-01/blade.x6220/820-0048-18/sp.html#0_pgfId-1002490). If the host implements an integrated system management infrastructure, such as ILOM on Sun and Oracle systems or iLO on HP systems, configure the integrated console baud rate to match the setting for the host system. Otherwise, the integrated console is likely to display garbage characters. (Bug ID 17064059, 17252160)

Transparent Huge Pages

The Transparent Huge Pages (THP) feature is disabled. Following extensive benchmarking and testing, Oracle found that THP caused a performance degradation of between 5 and 10% for some workloads. This performance degradation was a result of a slower memory allocator code path being used even when the applications were not using THP. When the fact that huge pages are not swappable was taken into account, the positive effect that THP should provide was outweighed by its negative effects.

After installing this UEK release, you cannot enable THP (for example, by specifying kernel boot parameters). The THP settings under /sys/kernel/mm/transparent_hugepage have also been removed. A future update might contain an updated THP implementation which resolves the performance issue.

Note

This change does not affect support for applications that use explicit huge pages (for example, Oracle Database).

(Bug ID 16823432)

User Namespaces

The kernel functionality (CONFIG_USER_NS) that allows unprivileged processes to create namespaces for users inside which they have root privileges is not currently implemented because of a clash with the implementation of XFS. This functionality is primarily intended for use with Linux Containers. As a result, the lxc-checkconfig command displays User namespace: missing. (Bug ID 16656850)

Virtualization

  • When booting UEK R3 as a PVHVM guest, you can safely ignore the following kernel message:

    register_vcpu_info failed:
              err=-38

    (Bug ID 13713774)

  • Under Oracle VM Server 3.1.1, migrating a PVHVM guest that is running the UEK R3 kernel causes a disparity between the date and time as displayed by date and hwclock. To prevent this from occurring, upgrade to Oracle VM Server 3.2.1 or later. The workaround post migration is either to run the command hwclock --hctosys on the guest or to reboot the guest. (Bug ID 16861041)

  • On virtualized systems that are built on Xen version 3, including all releases of Oracle VM 2 including 2.2.2 and 2.2.3, disk synchronization requests for ext3 and ext4 file systems result in journal corruption with kernel messages similar to the following being logged:

    blkfront: barrier: empty write xvda op failed
    blkfront: xvda: barrier or flush: disabled

    In addition, journal failures such as the following might be reported:

    Aborting journal on device xvda1

    The workaround is to add the mount option barrier=0 to all ext3 and ext4 file systems in the guest VM before upgrading to UEK R3. For example, you would change a mount entry such as:

    UUID=4e4287b1-87dc-47a8-b69a-075c7579eaf1  /  ext3  defaults  1 1

    so that it reads:

    UUID=4e4287b1-87dc-47a8-b69a-075c7579eaf1  /  ext3  defaults,barrier=0  1 1

    This issue does not apply to Xen 4 based systems, such as Oracle VM 3. (Bug ID 17310816)

  • Xen does not support the crashkernel=auto parameter for Kdump configuration. (Bug ID 18174580)

  • Mounting or changing an ISO image in a PVHVM guest results in exception messages in the Oracle VM console. The ISO image itself is mounted correctly and is accessible. (Bug ID 19972081)

  • You cannot increase (hot plug) the number of virtual CPUs in a running Oracle Linux 7 guest using the xm vcpu-set command. Decreasing the number of virtual CPUs does work. (Bug ID 18865156)

X.509 Certificates for Module Verification

The system reports a message similar to the following if there is a problem loading an in-kernel X.509 module verification certificate at boot time:

Loading module verification certificates 
X.509: Cert 0c21da3d73dcdbaffc799e3d26f3c846a3afdc43 is not yet valid 
MODSIGN: Problem loading in-kernel X.509 certificate (-129)

This error occurs because the hardware clock lags behind the system time as shown by hwclock, for example:

# hwclock
Tue 20 Aug 2013 01:41:40 PM EDT -0.767004 seconds

The solution is to set the hardware clock from the system time by running the following command:

# hwclock --systohc

After correcting the hardware clock, no error should be seen at boot time, for example:

Loading module verification certificates 
MODSIGN: Loaded cert 'Slarti: Josteldalsbreen signing key: 
0c21da3d73dcdbaffc799e3d26f3c846a3afdc43'

(Bug ID 17346862)

XFS

  • In some circumstances, xfsdump can fail when the file system to be backed up is specified as a mount point, for example:

    xfsdump: ERROR: /mnt/myxfs/ does not identify a file system

    The workaround is to specify the file system by its device name, for example /dev/sdb. (Bug ID 18483275)

  • In a virtual machine, the intensive direct I/O on files which are being fragmented by fallocate and punch_hole in parallel may result, in some circumstances, in data corruption with the error Invalid or incomplete multibyte or wide character. (Bug ID 18711409)

  • The following message might be displayed when you use the xfs_growfs command:

     xfs_growfs: cannot find mount point for path `mount_point': Success 

    The message is caused by an incorrect mounted project path listed in the XFS project quota initialization file, /etc/projects. If you are not using project quotas, remove the /etc/projects file. (Bug ID 18886520)

  • On Oracle Linux 6, an XFS file system can become corrupted if all of its inodes are used. (Bug ID 19217280)

  • On Oracle Linux 7, a kernel panic can occur if all the inodes for an XFS file system are used. (Bug ID 19695297)

  • On Oracle Linux 7, xfs_copy fails to copy a file system if the device sector size more than 512 bytes. (Bug ID 19267663)

  • xsf_repair causes a segmentation fault when you try repair a file system using a short reporting interval (-t).