- Issued:
- 2012-06-20
- Updated:
- 2012-06-20
RHBA-2012:0777 - Bug Fix Advisory
Synopsis
corosync bug fix and enhancement update
Type/Severity
Bug Fix Advisory
Red Hat Insights patch analysis
Identify and remediate systems affected by this advisory.
Topic
Updated corosync packages that fix several bugs and add one enhancement are now
available for Red Hat Enterprise Linux 6.
Description
The corosync packages provide the Corosync Cluster Engine and the C language
APIs for Red Hat Enterprise Linux cluster software.
Bug Fixes:
- The mainconfig module passed an incorrect string pointer to the function that
opens the corosync log file. If the path to the file (in cluster.conf) contained
a non-existing directory, an incorrect error message was returned stating that
there was a configuration file error. The correct error message is now returned
informing the user that the log file cannot be created. (BZ#741455)
- The coroipcc library did not delete temporary buffers used for Inter-Process
Communication (IPC) connections that are stored in the /dev/shm shared-memory
file system. The /dev/shm memory resources became fully used and caused a Denial
of Service event. The library has been modified so that applications delete
temporary buffers if the buffers were not deleted by the corosync server. The
/dev/shm system is now no longer cluttered with needless data. (BZ#797192)
- The range condition for the update_aru() function could cause incorrect
checking of message IDs. The corosync utility entered the "FAILED TO RECEIVE"
state and failed to receive multicast packets. The range value in the
update_aru() function is no longer checked and the check is now performed using
the fail_to_recv_const constant. (BZ#758209)
- If the corosync-notifyd daemon was running for a long time, the corosync
process consumed an excessive amount of memory. This happened because the
corosync-notifyd daemon failed to indicate that the no-longer used corosync
objects were removed, resulting in memory leaks. The corosync-notifyd daemon has
been fixed and the corosync memory usage no longer increases if corosync-notifyd
is running for long periods of time. (BZ#752159)
- When a large cluster was booted or multiple corosync instances started at the
same time, the CPG (Closed Process Group) events were not sent to the user.
Therefore, nodes were incorrectly detected as no longer available, or as leaving
and re-joining the cluster. The CPG service now checks the exit code in such
scenarios properly and the CPG events are sent to users as expected. (BZ#743813)
- The OpenAIS EVT (Eventing) service sometimes caused deadlocks in corosync
between the timer and serialize locks. The order of locking has been modified
and the bug has been fixed. (BZ#743815)
- When corosync became overloaded, IPC messages could be lost without any
notification. This happened because some services did not handle the error code
returned by the totem_mcast() function. Applications that use IPC now handle the
inability to send IPC messages properly and try sending the messages again.
(BZ#743812)
- If both the corosync and cman RPM packages were installed on one system, the
RPM verification process failed. This happened because both packages own the
same directory but apply different rights to it. Now, the RPM packages have the
same rights and the RPM verification no longer fails. (BZ#747628)
- corosync consumed excessive memory because the getaddrinfo() function leaked
memory. The memory is now freed using the freeadrrinfo() function and
getaddrinfo() no longer leaks memory. (BZ#752951)
- It was not possible to activate or deactivate debug logs at runtime due to
memory corruption in the objdb structure. The debug logging can now be activated
or deactivated on runtime, for example by the "corosync-objctl -w
logging.debug=off" command. (BZ#773720)
Enhancement:
- Each IPC connection uses 48 K in the stack. Previously, multi-threading
applications with reduced stack size did not work correctly, which resulted in
excessive memory usage. Temporary memory resources in a heap are now allocated
to the IPC connections so that multi-threading applications no longer need to
justify IPC connections' stack size. (BZ#743810)
All users of corosync are advised to upgrade to these updated packages, which
fix these bugs and add this enhancement.
Solution
Before applying this update, make sure all previously-released errata
relevant to your system have been applied.
This update is available via the Red Hat Network. Details on how to
use the Red Hat Network to apply this update are available at
https://access.redhat.com/knowledge/articles/11258
Affected Products
- Red Hat Enterprise Linux High Availability for x86_64 6 x86_64
- Red Hat Enterprise Linux High Availability for x86_64 6 i386
- Red Hat Enterprise Linux Resilient Storage for x86_64 6 x86_64
- Red Hat Enterprise Linux Resilient Storage for x86_64 6 i386
- Red Hat Enterprise Linux High Availability (for RHEL Server) from RHUI 6 x86_64
- Red Hat Enterprise Linux High Availability (for RHEL Server) from RHUI 6 i386
- Red Hat Enterprise Linux Resilient Storage (for RHEL Server) from RHUI 6 x86_64
- Red Hat Enterprise Linux Resilient Storage (for RHEL Server) from RHUI 6 i386
Fixes
- BZ - 741455 - inability to read/write a file should not print parse error, but instead print that the file couldn't be read/written
- BZ - 743810 - [RFE] corosync coroipcc: use malloc for path in service_connect
- BZ - 743812 - cpg and cfg: Handle errors from totem_mcast
- BZ - 743813 - A CPG client can sometimes lockup if the local node is in the downlist
- BZ - 743815 - Resolve a deadlock between the timer and serialize locks.
- BZ - 747628 - corosync and cman conflict on /var/log/cluster permissions
- BZ - 752951 - totemip_parse leaks memory
- BZ - 758209 - A rare condition can lead to fail to recv
- BZ - 797192 - corosync filling up /dev/shm
CVEs
(none)
References
(none)
Red Hat Enterprise Linux High Availability for x86_64 6
SRPM | |
---|---|
corosync-1.4.1-7.el6.src.rpm | SHA-256: 78a7fa3ab9d40d8f9448af1b0c442c90d7f19291c4b40a379ded41bd5fa93ca9 |
x86_64 | |
corosync-1.4.1-7.el6.x86_64.rpm | SHA-256: 11715147aacc96b32598f4715f2a44d1abb298277eee5c9b620fea759398de90 |
corosync-debuginfo-1.4.1-7.el6.i686.rpm | SHA-256: ac1dca377c2a30fa319757a17634ddc721893948b82290034ff706ea0f307726 |
corosync-debuginfo-1.4.1-7.el6.x86_64.rpm | SHA-256: c6a03bd076a4dfe684b29806467a6dd32f5f2e0bf99bc4b96ce92abe0fa5c744 |
corosynclib-1.4.1-7.el6.i686.rpm | SHA-256: 7aa324f492c41c91ff4139466b8879a0dd90930efbdab9f973ec4f5ce54e33eb |
corosynclib-1.4.1-7.el6.x86_64.rpm | SHA-256: 6a9bdc1bdd0c6201d5acc4ccc319fee4db7c56e747f98d1cd2e7fbf770af786e |
corosynclib-devel-1.4.1-7.el6.i686.rpm | SHA-256: 87ce5bd0c4f984188426b4a4da5828e232ecd2271a380884f458d04b119523ae |
corosynclib-devel-1.4.1-7.el6.x86_64.rpm | SHA-256: c0ba63450373e5c56cf32a6acc03e285a8b107ac0fee41ff12a31122958e45b2 |
i386 | |
corosync-1.4.1-7.el6.i686.rpm | SHA-256: 4cb2f0581c5caf80e562af5cde2cf23581bc03f392ad307cb26f6f3385ac7c45 |
corosync-debuginfo-1.4.1-7.el6.i686.rpm | SHA-256: ac1dca377c2a30fa319757a17634ddc721893948b82290034ff706ea0f307726 |
corosynclib-1.4.1-7.el6.i686.rpm | SHA-256: 7aa324f492c41c91ff4139466b8879a0dd90930efbdab9f973ec4f5ce54e33eb |
corosynclib-devel-1.4.1-7.el6.i686.rpm | SHA-256: 87ce5bd0c4f984188426b4a4da5828e232ecd2271a380884f458d04b119523ae |
Red Hat Enterprise Linux Resilient Storage for x86_64 6
SRPM | |
---|---|
corosync-1.4.1-7.el6.src.rpm | SHA-256: 78a7fa3ab9d40d8f9448af1b0c442c90d7f19291c4b40a379ded41bd5fa93ca9 |
x86_64 | |
corosync-1.4.1-7.el6.x86_64.rpm | SHA-256: 11715147aacc96b32598f4715f2a44d1abb298277eee5c9b620fea759398de90 |
corosync-debuginfo-1.4.1-7.el6.i686.rpm | SHA-256: ac1dca377c2a30fa319757a17634ddc721893948b82290034ff706ea0f307726 |
corosync-debuginfo-1.4.1-7.el6.x86_64.rpm | SHA-256: c6a03bd076a4dfe684b29806467a6dd32f5f2e0bf99bc4b96ce92abe0fa5c744 |
corosynclib-1.4.1-7.el6.i686.rpm | SHA-256: 7aa324f492c41c91ff4139466b8879a0dd90930efbdab9f973ec4f5ce54e33eb |
corosynclib-1.4.1-7.el6.x86_64.rpm | SHA-256: 6a9bdc1bdd0c6201d5acc4ccc319fee4db7c56e747f98d1cd2e7fbf770af786e |
corosynclib-devel-1.4.1-7.el6.i686.rpm | SHA-256: 87ce5bd0c4f984188426b4a4da5828e232ecd2271a380884f458d04b119523ae |
corosynclib-devel-1.4.1-7.el6.x86_64.rpm | SHA-256: c0ba63450373e5c56cf32a6acc03e285a8b107ac0fee41ff12a31122958e45b2 |
i386 | |
corosync-1.4.1-7.el6.i686.rpm | SHA-256: 4cb2f0581c5caf80e562af5cde2cf23581bc03f392ad307cb26f6f3385ac7c45 |
corosync-debuginfo-1.4.1-7.el6.i686.rpm | SHA-256: ac1dca377c2a30fa319757a17634ddc721893948b82290034ff706ea0f307726 |
corosynclib-1.4.1-7.el6.i686.rpm | SHA-256: 7aa324f492c41c91ff4139466b8879a0dd90930efbdab9f973ec4f5ce54e33eb |
corosynclib-devel-1.4.1-7.el6.i686.rpm | SHA-256: 87ce5bd0c4f984188426b4a4da5828e232ecd2271a380884f458d04b119523ae |
Red Hat Enterprise Linux High Availability (for RHEL Server) from RHUI 6
SRPM | |
---|---|
corosync-1.4.1-7.el6.src.rpm | SHA-256: 78a7fa3ab9d40d8f9448af1b0c442c90d7f19291c4b40a379ded41bd5fa93ca9 |
x86_64 | |
corosync-1.4.1-7.el6.x86_64.rpm | SHA-256: 11715147aacc96b32598f4715f2a44d1abb298277eee5c9b620fea759398de90 |
corosync-debuginfo-1.4.1-7.el6.i686.rpm | SHA-256: ac1dca377c2a30fa319757a17634ddc721893948b82290034ff706ea0f307726 |
corosync-debuginfo-1.4.1-7.el6.x86_64.rpm | SHA-256: c6a03bd076a4dfe684b29806467a6dd32f5f2e0bf99bc4b96ce92abe0fa5c744 |
corosynclib-1.4.1-7.el6.i686.rpm | SHA-256: 7aa324f492c41c91ff4139466b8879a0dd90930efbdab9f973ec4f5ce54e33eb |
corosynclib-1.4.1-7.el6.x86_64.rpm | SHA-256: 6a9bdc1bdd0c6201d5acc4ccc319fee4db7c56e747f98d1cd2e7fbf770af786e |
corosynclib-devel-1.4.1-7.el6.i686.rpm | SHA-256: 87ce5bd0c4f984188426b4a4da5828e232ecd2271a380884f458d04b119523ae |
corosynclib-devel-1.4.1-7.el6.x86_64.rpm | SHA-256: c0ba63450373e5c56cf32a6acc03e285a8b107ac0fee41ff12a31122958e45b2 |
i386 | |
corosync-1.4.1-7.el6.i686.rpm | SHA-256: 4cb2f0581c5caf80e562af5cde2cf23581bc03f392ad307cb26f6f3385ac7c45 |
corosync-debuginfo-1.4.1-7.el6.i686.rpm | SHA-256: ac1dca377c2a30fa319757a17634ddc721893948b82290034ff706ea0f307726 |
corosynclib-1.4.1-7.el6.i686.rpm | SHA-256: 7aa324f492c41c91ff4139466b8879a0dd90930efbdab9f973ec4f5ce54e33eb |
corosynclib-devel-1.4.1-7.el6.i686.rpm | SHA-256: 87ce5bd0c4f984188426b4a4da5828e232ecd2271a380884f458d04b119523ae |
Red Hat Enterprise Linux Resilient Storage (for RHEL Server) from RHUI 6
SRPM | |
---|---|
corosync-1.4.1-7.el6.src.rpm | SHA-256: 78a7fa3ab9d40d8f9448af1b0c442c90d7f19291c4b40a379ded41bd5fa93ca9 |
x86_64 | |
corosync-1.4.1-7.el6.x86_64.rpm | SHA-256: 11715147aacc96b32598f4715f2a44d1abb298277eee5c9b620fea759398de90 |
corosync-debuginfo-1.4.1-7.el6.i686.rpm | SHA-256: ac1dca377c2a30fa319757a17634ddc721893948b82290034ff706ea0f307726 |
corosync-debuginfo-1.4.1-7.el6.x86_64.rpm | SHA-256: c6a03bd076a4dfe684b29806467a6dd32f5f2e0bf99bc4b96ce92abe0fa5c744 |
corosynclib-1.4.1-7.el6.i686.rpm | SHA-256: 7aa324f492c41c91ff4139466b8879a0dd90930efbdab9f973ec4f5ce54e33eb |
corosynclib-1.4.1-7.el6.x86_64.rpm | SHA-256: 6a9bdc1bdd0c6201d5acc4ccc319fee4db7c56e747f98d1cd2e7fbf770af786e |
corosynclib-devel-1.4.1-7.el6.i686.rpm | SHA-256: 87ce5bd0c4f984188426b4a4da5828e232ecd2271a380884f458d04b119523ae |
corosynclib-devel-1.4.1-7.el6.x86_64.rpm | SHA-256: c0ba63450373e5c56cf32a6acc03e285a8b107ac0fee41ff12a31122958e45b2 |
i386 | |
corosync-1.4.1-7.el6.i686.rpm | SHA-256: 4cb2f0581c5caf80e562af5cde2cf23581bc03f392ad307cb26f6f3385ac7c45 |
corosync-debuginfo-1.4.1-7.el6.i686.rpm | SHA-256: ac1dca377c2a30fa319757a17634ddc721893948b82290034ff706ea0f307726 |
corosynclib-1.4.1-7.el6.i686.rpm | SHA-256: 7aa324f492c41c91ff4139466b8879a0dd90930efbdab9f973ec4f5ce54e33eb |
corosynclib-devel-1.4.1-7.el6.i686.rpm | SHA-256: 87ce5bd0c4f984188426b4a4da5828e232ecd2271a380884f458d04b119523ae |
The Red Hat security contact is secalert@redhat.com. More contact details at https://access.redhat.com/security/team/contact/.