Chapter 34. Servers and Services

Internal buffer locks no longer cause deadlocks in libdb

Previously, the libdb database did not lock its internal buffers in the correct order when it accessed pages located in an off-page duplicate (OPD) tree while processing operations on a cursor. A writer process accessed first the primary tree and then the OPD tree while a reader process did the same in the reverse order. When a writer process accessed a page from the primary tree while a reader process accessed a page from the OPD tree, the processes were unable to access the page from the other tree because the pages were simultaneously locked by the other process. This consequently caused a deadlock in libdb because neither of the processes released their locks. With this update, the btree version of the cursor->get method has been modified to lock the tree's pages in the same order as the writing methods, that is, the primary tree first and the OPD tree second. As a result, deadlocks in libdb no longer occur in the described scenario. (BZ#1349779)

Weekly log rotations are now triggered more predictably

Weekly log rotations were previously performed by the logrotate utility when exactly 7 days (604800 seconds) elapsed since the last rotation. Consequently, if the logrotate command was triggered by a cron job slightly sooner, the rotation was delayed until the next run. With this update, weekly log rotations ignore the exact time. As a result, when the day counter advances by 7 or more days since the last rotation, a new rotation is triggered. (BZ#1465720)

ghostscript no longer crashes while processing large PDF files

Previously, processing large PDF files could cause the ghostscript utility to terminate unexpectedly under certain rare circumstances. With this update, an internal ghostscript virtual machine limit, DEFAULT_VM_THRESHOLD, has been increased, and the described problem no longer occurs. In addition, processing of large files is now slightly faster. (BZ#1479852)

Converting large PDF files to PNG with ghostscript no longer fails

Due to a bug in the upstream source code, converting large PDF files to the PNG format using the ghostscript utility failed under certain rare circumstances. This bug has been fixed, and the described problem no longer occurs. (BZ#1473337)

krfb no longer crashes when unable to bind to an IPv6 port

Previously, connecting to the krfb application with a VNC client when krfb could not bind to an IPv6 port, krfb terminated unexpectedly. This update fixes the improper handling of uninitialized IPv6 socket, and applications built on the libvncserver library now deal with the unsuccessful attempt to listen on an IPv6 port correctly. (BZ#1314814)

mod_nss properly detects the threading model in Apache to improve performance

Previously, the mod_nss module was not detecting the threading model properly in Apache. Consequently, users experienced slower performance because the TLS Session ID was not maintained across handshakes and a new session ID was generated for each handshake. This update fixes the threading model detection. As a result, TLS Session IDs are now properly cached, which eliminates the described performance problems. (BZ#1461580)

atd no longer runs with 100% CPU utilization nor fills system log

Previously, the atd daemon of the at utility handled incorrectly some types of broken jobs, particularly jobs of non-existent users. As a consequence, atd used up all available CPU resources and filled the system log by messages sent with unlimited frequency. With this update, the handling of the broken jobs by atd has been fixed and the problem does not occur anymore. (BZ#1481355)

ReaR now provides a more helpful error message when grub2-efi-x64-modules is missing

Previously, an attempt to create a ReaR backup on UEFI systems using the rear mkrescue and rear mkbackup commands failed due to a missing grub2-efi-x64-modules package, which is not installed by default but is required by ReaR to generate a GRUB image. The commands failed with the following error message:
ERROR: Error occurred during grub2-mkimage of BOOTX64.efi
This message proved to be confusing and unhelpful. With this update, the error will still appear in the same circumstances, but it will point out how to fix the problem:
WARNING: /usr/lib/grub/x86_64-efi/moddep.lst not found, grub2-mkimage will likely fail. Please install the grub2-efi-x64-modules package to fix this.
As the updated message explains, you must install the missing grub2-efi-x64-modules package before you can create a ReaR backup on a system with UEFI firmware. (BZ#1492177)

ReaR no longer fails to determine disk size during a mkrescue operation

Previously, the ReaR (Relax-and-Recover) utility sometimes encountered a failure while querying partition sizes when saving the disk layout due to a race condition with udev. As a consequence, the mkrescue operation failed with the following message:
ERROR: BUG BUG BUG! Could not determine size of disk
Therefore it was not possible to create the rescue image. The bug has been fixed, and rescue image creation now works as expected. (BZ#1388653)

ReaR no longer requires dosfsck and efibootmgr on non-UEFI systems

Previously, ReaR (Relax-and-Recover) incorrectly required the dosfsck and efibootmgr utilities installed on systems that do not use UEFI. As a consequence, if the utilities were missing, the rear mkrescue command failed with an error. This bug has been fixed, and ReaR now requires the mentioned utilities to be installed only on UEFI systems. (BZ#1479002)

ReaR no longer fails with NetBackup and has more reliable network configuration

Previously, two problems in the startup procedure of the rescue system caused the ReaR (Relax-and-Recover) restore process to fail when using the NetBackup method. The system's init scripts were sourced instead of executed when used by ReaR. As a consequence, the NetBackup init script aborted the system-setup process. Additionally, processes created by the system setup were immediately terminated. This affected the dhclient tool as well, and in some cases caused an IP address conflict. With this update, both bugs have been fixed. As a result, ReaR works properly with the NetBackup method, and network configuration using DHCP is more reliable. (BZ#1506231)

ReaR recovery no longer fails when backup integrity checking is enabled

Previously, if ReaR (Relax-and-Recover) was configured to use backup integrity checking (BACKUP_INTEGRITY_CHECK=1), the recovery process always failed because the md5sum command could not find the backup archive. This bug has been fixed, and the described problem no longer occurs. (BZ#1532676)