3 Known Issues

This chapter describes the known issues for the Unbreakable Enterprise Kernel Release 6.

Unusable or Unavailable Arm Features

The following features are known to not work, remain untested, or have issues that cause the feature to be unusable or unavailable on the 64-bit Arm (aarch64) platform:

  • InfiniBand

    InfiniBand hardware is currently not supported for Arm architecture using UEK R6.

  • FibreChannel

    FibreChannel hardware is currently not supported for Arm architecture using UEK R6.

  • RDMA

    RDMA and any of its subfeatures are not supported for the Arm architecture.

  • Secure Boot and Lockdown

    The Secure Boot feature and the Kernel Lockdown functionality are not supported or available for the Arm architecture.

Serial port console can crash if the serial port baud rate is too low

On systems that use a physical serial console to monitor system output, such as on an ILOM console interface, it is possible that high levels of output can introduce abnormal system behavior such as kernel deadman timer events that indicate processes are unable to obtain CPU scheduler time. This is typically experienced if the serial console speed is set too low and a log level of 6 or higher is configured for the system. To reduce the likelihood of this issue occurring, either reduce the log level or configure the console for the maximum possible baud rate, 115200.

Starting with UEK R6U1, a warning is displayed in the dmesg output if the baud rate is set too low:

dmesg | grep -A4 -i baud
[  369.777802] Serial console is set to the default of 9600 baud. This can
[  369.778852] result in stalls or lockups in error conditions requiring a
[  369.779892] large number of console system messages. Please increase the
[  369.780889] rate to the highest your system will allow (for instance,
115200
[  369.781918] or 57600). See Oracle KM Note 2648582.1 for more information.

The current console speed for a running Oracle Linux 7 or Oracle Linux 8 system can be set for a configured serial port by running:

stty -F /dev/ttyS0 speed 115200

To change the serial console speed that is used when the system boots, you must edit the GRUB configuration. Edit /etc/sysconfig/grub in a text editor and append console=ttyS0,115200 to the line starting with GRUB_CMDLINE_LINUX, for example:

GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/linux1-swap rd.lvm.lv=linux1/root \
  rd.lvm.lv=linux1/swap rhgb quiet console=ttyS0,115200"

Note that in the above examples, the serial console is assumed to be ttyS0, you may need to change this if you have used an alternate serial port.

To update your grub configuration with the changes so that they are used on the next boot if you are using legacy BIOS, run:

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Alternately, if you are booting by using the Unified Extensible Firmware Interface (UEFI), run the following command:

sudo grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

If you are using Oracle Server hardware, or a system that provides an ILOM interface to the serial console, make sure that you update the serial console configuration on the ILOM to match the speed that you have set within the host operating system. You can set the serial port on the ILOM CLI by running:

sudo set /SP/serial/host pendingspeed=115200 commitpending=true

To check the current console port speed on the ILOM, using the CLI, run:

sudo show /SP/serial/host

For more information about ILOM configuration, see https://docs.oracle.com/cd/E19203-01/820-1188-12/core_ilom_managing.html.

(Bug ID 30487830, 30439170)

SELinux "Permission watch" messages displayed

Booting UEK R6 in either the SELinux permissive mode or the enforcing mode produces messages similar to the following:

SELinux:  Permission watch in class filesystem not defined in policy. 
SELinux:  Permission watch in class file not defined in policy. 
SELinux:  Permission watch_mount in class file not defined in policy. 
SELinux:  Permission watch_sb in class file not defined in policy.
SELinux: the above unknown classes and permissions will be allowed

These messages are displayed because no definitions currently exist for these classes in SELinux policy. Per the last line of the message, classes and permissions are allowed by default; and therefore, the messages can be safely ignored.

(Bug ID 30687021, 30687021)

SELinux in enforcing mode with the MLS policy not supported

When SELinux is configured to use the Multilevel Security (MLS) policy and it is in the enforcing mode, several issues can prevent normal functioning of the operating system, including permissions errors when attempting to mount file systems and the likelihood of a Systemd freeze when booting the operating system.

SELinux in the enforcing mode with the MLS policy is not supported. Note that you can continue to use SELinux in the enforcing mode by using the targeted policy.

(Bug ID 30797389, 30609238)

Spurious xs_tcp_setup_socket: connect messages when using NFS

When using NFS, inaccurate messages regarding socket connection errors may be emitted. Messages may appear as follows:

xs_tcp_setup_socket: connect returned unhandled error -107

The underlying connection issue is resolved and any connections that fail are now automatically reopened. Provided no associated functional impact is experienced, this error message may be ignored. Note that this message may also appear as a result of a genuine ongoing connection issue.

(Bug ID 30339848)

mstlink command crashes with core dump when used on Oracle Linux 8

The mstlink command crashes when run on an Oracle Linux 8 system running Unbreakable Enterprise Kernel Release 6. The following output is typical:

sudo mstlink -d 13:00.1
/usr/include/c++/8/bits/stl_vector.h:932: std::vector<_Tp, _Alloc>::reference
std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type)
[with _Tp = unsigned int; _Alloc = std::allocator<unsigned int>;
std::vector< Tp, _Alloc>::reference = unsigned int& std::vector<_Tp,
_Alloc>::size_type = long unsigned int]: Assertion '__builtin_expect(__n <
this->size(), true)' failed.
Aborted (core dumped)

This issue is related to system-wide hardening changes introduced upstream and present in Oracle Linux 8. The upstream tools in the mstflint package, including mstlink do not adequately cater for these hardening changes. Alternate tools can be used to gather and configure link information, including ip link, ethtool, ifstat, and ibv_devinfo.

(Bug ID 30993407)

IOMMU kernel option enabled by default

Starting with UEK R5U1, IOMMU functionality is enabled by default in the x86_64 kernel. This change better facilitates single root input-output virtualization (SR-IOV) and other virtualization extensions; however, it is also known to result in boot failure issues on certain hardware that cannot complete discovery when IOMMU is enabled. The status of this feature no longer appears in /proc/cmd reporting as iommu=on, which means it may need to be explicitly disabled as a kernel cmdline option if boot failure occurs. As an alternative workaround, you can disable IOMMU or Intel-Vtd in your system ROM by following your vendor instructions.

These boot failure issues have been observed on equipment with certain Broadcom network devices, such HP Gen8 servers. For more detailed information, see https://support.hpe.com/hpsc/doc/public/display?docId=emr_na-c04565693.

bnxt_re: probe error: "RoCE is not supported on this device" reported after installing on certain hardware with Broadcom NetXtreme-C/E bnxt_en driver

On some hardware that includes the NetXtreme-C/E bnxt_en driver, messages similar to the following can be observed in the system log (var/log/messages) immediately following a fresh installation:

grep bnxt /var/log/messages
Apr 26 12:00:30 ca-ostest644 kernel: Broadcom NetXtreme-C/E driver bnxt_en
v1.10.1
Apr 26 12:00:30 ca-ostest644 kernel: bnxt_en 0000:18:00.0 (unnamed
net_device) (uninitialized): Firmware does not support TC flower offload.
Apr 26 12:00:30 ca-ostest644 kernel: bnxt_en 0000:18:00.0 eth1: Broadcom
BCM57417 NetXtreme-E 10GBase-T Ethernet found at mem 381c01210000, node addr
00:10:e0:d8:33:09
Apr 26 12:00:30 ca-ostest644 kernel: bnxt_en 0000:18:00.0: 63.008 Gb/s
available PCIe bandwidth (8 GT/s x8 link)
Apr 26 12:00:30 ca-ostest644 kernel: bnxt_en 0000:18:00.1 (unnamed
net_device) (uninitialized): Firmware does not support TC flower offload.
Apr 26 12:00:30 ca-ostest644 kernel: bnxt_en 0000:18:00.1 eth2: Broadcom
BCM57417 NetXtreme-E 10GBase-T Ethernet found at mem 381c01200000, node addr
00:10:e0:d8:33:0a
.
.
.

The dmesg command reports similar messages:

dmesg | grep bnxt
[    2.703443] Broadcom NetXtreme-C/E driver bnxt_en v1.10.1
[    2.720552] bnxt_en 0000:18:00.0 (unnamed net_device) (uninitialized):
Firmware does not support TC flower offload.
[    2.961037] bnxt_en 0000:18:00.0 eth1: Broadcom BCM57417 NetXtreme-E
10GBase-T Ethernet found at mem 381c01210000, node addr 00:10:e0:d8:33:09
[    2.961044] bnxt_en 0000:18:00.0: 63.008 Gb/s available PCIe bandwidth (8
GT/s x8 link)
[    2.986775] bnxt_en 0000:18:00.1 (unnamed net_device) (uninitialized):
Firmware does not support TC flower offload.
[    2.996323] bnxt_en 0000:18:00.1 eth2: Broadcom BCM57417 NetXtreme-E
10GBase-T Ethernet found at mem 381c01200000, node addr 00:10:e0:d8:33:0a
[    2.996331] bnxt_en 0000:18:00.1: 63.008 Gb/s available PCIe bandwidth (8
GT/s x8 link)
[    3.011390] bnxt_en 0000:18:00.0 eno2np0: renamed from eth1
[    3.260089] bnxt_en 0000:18:00.1 eno3np1: renamed from eth2
[    9.038400] bnxt_re: Broadcom NetXtreme-C/E RoCE Driver
[    9.038472] bnxt_en 0000:18:00.0: bnxt_re: probe error: RoCE is not 

These error messages are reported because RDMA support is disabled in the bnxt_en card's firmware on some Oracle servers; however, note that the issue does not impact all Broadcom NetXtreme-C/E cards.

To work around the issue, you must enable RDMA support in the card's firmware prior to the installation.

(Bug ID 32819934)

Messages emitted indicating the route cache is full when using IPv6

On some systems, error messages indicating that the route cache is full, are emitted when using IPv6. An error similar to the following example may be returned:

[ 5523.456447] Route cache is full: consider increasing sysctl
net.ipv[4|6].route.max_size.

It is unclear what causes these errors or to what size /proc/sys/net/ipv6/route/max_size should be increased; but, on a test system, the issue could not be replicated after running the following command:

sudo sysctl net.ipv6.route.max_size=32768

Because the issue is currently under investigation, increasing this value is a viable workaround.

(Bug ID 30976607)

IPv6 failback fails when using RoCE

The rdmaip driver does not send IPv6 address change notification to RDS, which can delay or prevent IPv6 fail over when using RoCE. This is apparent when active bonding is enabled and only occurs for IPv6. The IPv4 failover continues to work correctly.

When the issue is triggered, the following messages may appear in the kernel log:

kernel: rdmaip: could not add 2001:db8:0:f101::50%4/64 to ens2f0 (port 1)
kernel: IPv6: ens2f0: IPv6 duplicate address 2001:db8:0:f101::50 used by 
        50:6b:4b:cb:ef:23 detected!

A fix is in development but is not available at the time of this release. The fix may become available as an errata update.

(Bug ID 31021418)

It is not possible to remove the libpcap package

Attempting to remove the libpcap package or performing an action that would attempt to remove the package results in an error because the dependency chain would require the removal of the systemd package and this would break the system.

This is expected behavior in Oracle Linux 8; however, the behavior is mentioned here because in previous Oracle Linux releases, it was possible to remove the libpcap package

In some circumstances, such as when installing the RDMA packages, libpcap may be upgraded to a newer version than the version provided for the operating system. If you remove these packages, you may wish to also downgrade the libpcap package to match the highest version provided for the operating system in the BaseOS channel or repository. Typically, this might be most easily done by reverting the installation using the dnf history undo command. See the DNF(8) manual page for more information.

(Bug ID 30979601)

Network latency may increase on Infiniband fabrics

If the TCP write size is close to the size of the Infiniband (IB) Maximum Transmission Unit (MTU), applications may experience higher latencies on packet transfers. For example, the default IB MTU is 65520 bytes. An application that also uses a TCP write size between 65520 bytes to 128 KB may experience this issue. The issue does not appear when applications use larger (for example, 256 KB) or smaller (for example, 4 KB or 32 KB) TCP write sizes.

Note that Ethernet networks are not affected by this issue.

The default values for the IB MTU and TCP write sizes in Oracle Linux and UEK R6 do not expose the issue. Applications with modified TCP window sizes, or systems with modified MTU values, could overlap and expose this issue.

The workaround for this issue is to tune either the MTU of the IB interface, or the TCP write size of the application, so that the TCP write size is smaller than the IB MTU or the TCP write size is greater than 2x the IB MTU. You can tune MTUs dynamically by using the ip link command. Note that tuning of the TCP write size is application specific.

(Bug ID 31830430)

(aarch64) Perf tool can result in application slowdown when profiling some virtualized Arm platforms

Note:

The following issue does not affect bare metal installations.

On virtual machines (VMs) that are running on a multi-socket aarch64 platform, if the perf top or perf record command is invoked, it is possible that application slowdowns may occur. In certain cases, the following message is emitted in a terminal window:

kernel:watchdog: BUG: soft lockup

You can mitigate this problem as follows:

  • To avoid lockup situations and reduce probe effect, you can specify a sample period by using the -c flag with the perf record command, rather than a frequency by using the -F flag. For example, you would use the perf record -c command instead of the perf record -F 100 command.

  • Do not use the perf command with the --all-cpus flag. Instead, specify a minimal number of CPUs by using the perf -C command.

(Bug ID 32834324)

(aarch64) Kdump fails to allocate crashkernel memory on some Arm systems

On some 64-bit Arm (aarch64) systems, where insufficient low contiguous memory is available, Kdump may fail due to the system's inability to allocate the minimum crashkernel memory that is typically reserved when the auto value is set.

This issue results in Kdump failing to start and the following errors appearing in the logs:

kdumpctl[3812]: No memory reserved for crash kernel
...
systemd[1]: Failed to start Crash recovery kernel arming.

To work around this issue, manually set the crashkernel low and high values and attempt to set a low value that is below 256 MB. For example, replace crashkernel=auto with crashkernel=800M,high crashkernel=200M,low.

(Bug ID 31554906)

Spurious trace_printk warning emitted when using RDS or RDMA

When using UEK R6 with RDS or RDMA, the system emits messages similar to the following:

[  136.066002] **********************************************************
[  136.068731] **   NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE   **
[  136.071346] **                                                      **
[  136.074893] ** trace_printk() being used. Allocating extra memory.  **
[  136.078505] **                                                      **
[  136.082337] ** This means that this is a DEBUG kernel and it is     **
[  136.086093] ** unsafe for production use.                           **
[  136.089887] **                                                      **
[  136.093682] ** If you see this message and you are not debugging    **
[  136.097192] ** the kernel, report this immediately to your vendor!  **
[  136.100615] **                                                      **
[  136.104239] **   NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE   **
[  136.108005] **********************************************************
[  136.209499] NET: Registered protocol family 21
[  136.229371] Registered RDS/tcp transport

These messages are displayed because the Resilient RDMAIP kernel module currently uses trace_print() for debugging infrastructure. On RDS/RDMA systems, these messages can be safely ignored and do not mean that the kernel is unsafe for production use.

(Bug ID 31066169)

The ipmctl-monitor package is no longer required to use ipmctl

The ipmctl-monitor package is not required for the ipmctl version 2.0 available for UEK R6U2. If you are updating the system from an earlier version of ipmctl or you attempt to install the ipmctl-monitor package along with other ipmctl utilities, you may see conflicts such as the following:

Error:
 Problem: cannot install both libipmctl-02.00.00.3852-1.0.1.el8.x86_64 and
libipmctl-01.00.00.3467-1.0.1.el8.x86_64
  - package ipmctl-monitor-01.00.00.3467-1.0.1.el8.x86_64 requires
libipmctl.so.3()(64bit), but none of the providers can be installed
  - package ipmctl-monitor-01.00.00.3467-1.0.1.el8.x86_64 requires
libipmctl(x86-64) = 01.00.00.3467-1.0.1.el8, but none of the providers can be
installed
  - cannot install the best candidate for the job
  - conflicting requests

If you are updating the system, remove the ipmctl-monitor package before performing the update:

sudo dnf remove ipmctl-monitor
sudo dnf update

If you are installing these packages for the first time, do not include the ipmctl-monitor package in your install command.

(Bug ID 32818557, 32516965)