Red Hat Bugzilla – Full Text Bug Listing
|Summary:||Corosync can exit because of SIGPIPE|
|Product:||Red Hat Enterprise Linux 6||Reporter:||Jan Friesse <jfriesse>|
|Component:||corosync||Assignee:||Jan Friesse <jfriesse>|
|Status:||CLOSED ERRATA||QA Contact:||Cluster QE <mspqa-list>|
|Version:||6.4||CC:||cluster-maint, jkortus, lnovich, sdake|
|Fixed In Version:||corosync-1.4.1-16.el6||Doc Type:||Bug Fix|
Cause: IPC client exits in very specific time-frame of connection handshake. Consequence: Corosync receives SIGPIPE and dies. Fix: Function which is responsible for SIGPIPE (sendto) is called with flag which makes SIGPIPE handled by sendto function. Result: Corosync doesn't receive SIGPIPE and doesn't die.
|Last Closed:||2013-11-20 23:34:09 EST||Type:||Bug|
|oVirt Team:||---||RHEL 7.3 requirements from Atomic Host:|
Description Jan Friesse 2013-05-03 06:03:20 EDT
Created attachment 743139 [details] Proposed patch - Handle SIGPIPE in req_setup_send Description of problem: When IPC client exits exactly when req_setup_send function calls send, SIGPIPE is generated and corosync (because SIGPIPE is not handled) exits. Version-Release number of selected component (if applicable): Flatiron How reproducible: 99.21% Steps to Reproduce: 1. Execute corosync without RR scheduling (pass -p parameter) 2. Execute many confdb IPC clients where each of them is tracking some key(s) and makes changes to that key(s) (or use https://github.com/jfriesse/csts/blob/master/apps/confdb-track-and-change.c) 3. send SIGINT to IPC clients 4. *Corosync* receives SIGPIPE and dies "Unit" test: https://github.com/jfriesse/csts/blob/master/tests/sigpipe-on-confdb-exit.sh Actual results: $res != 0 Expected results: $res == 0 Additional info: Problem is NOT specific to confdb, but it's a way how to reproduce problem reliably.
Comment 7 Jaroslav Kortus 2013-09-11 09:19:09 EDT
Verified using sigpipe-on-confdb-exit.sh test: FAIL on corosync-1.4.1-15.el6.x86_64 (RHEL6.4) PASS on corosync-1.4.1-17.el6.x86_64 (RHEL6.5)
Comment 9 errata-xmlrpc 2013-11-20 23:34:09 EST
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2013-1531.html