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)