IBM Support

Leap Second bug in older Linux kernels may affect IBM MQ and WebSphere MQ

Flash (Alert)


Abstract

Leap seconds are a periodic one-second adjustment of Coordinated Universal Time (UTC) required to keep a system's time of day close to the mean solar time. 

A leap second is scheduled for 31 December 2016 at 23h 59m 60s UTC.

In the past, the addition of leap seconds caused some systems running older Linux kernels to fail. IBM MQ and WebSphere MQ queue managers running on these systems generated repeated FDC files showing Probe Id XY348010 or XC272003 from xcsCreateThread, with error code xecP_E_NO_RESOURCE. Other FDCs are also possible.

Content

On 31 December 2016, the Network Time Protocol (NTP) daemon will schedule a leap second to occur at midnight, making the final minute of the day 61 seconds long. Prior leap second insertions, including the 30 June 2016 leap second, caused some Linux systems to exhibit unexplained high CPU usage.


IBM MQ and WebSphere MQ use the Native POSIX Thread Library (NPTL) which relies on futuxes ("fast userspace mutexes") for synchronization between threads. Futexes can exhibit high CPU spins after leap seconds on Linux kernel versions 2.6.22 through 3.5-rc7, inclusive, although some Linux distributions shipped patches for kernels in this range:



Contact your Linux vendor to check the status of other distributions, or check the Linux kernel version using "uname -r" and confirm that your system is older than 2.6.22 or running 3.5 or later.

If you encounter this problem, the following workaround may resolve the high CPU usage. As root, run:
    date -s "$(LC_ALL=C date)"

Product Alias/Synonym

IBM MQ WMQ WebSphere MQ MQSeries

Document information

More support for: WebSphere MQ
ABEND / FDC

Software version: 6.0, 7.0, 7.1, 7.5, 8.0, 9.0, 9.0.1

Operating system(s): Linux

Reference #: 1602521

Modified date: 04 January 2017