Bug 628243

Summary: corosync: dies after start
Product: [openSUSE] openSUSE 11.3 Reporter: Jan Engelhardt <jengelh>
Component: NetworkAssignee: Tim Serong <tserong>
Status: VERIFIED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None    
Version: Final   
Target Milestone: ---   
Hardware: x86-64   
OS: Linux   
Whiteboard: maint:released:11.3:35355
Found By: Beta-Customer Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: /var/log/messages
/etc/corosync/corosync.conf

Description Jan Engelhardt 2010-08-04 09:29:09 UTC
After starting corosync (using fixed rpms, bug #623427), most of its children instantly die.

 4178 ?        Ssl    0:00 /usr/sbin/corosync
 4188 ?        S      0:00  \_ /usr/lib64/heartbeat/crmd
 4204 ?        Z      0:00  \_ [cib] <defunct>
 4205 ?        Z      0:00  \_ [attrd] <defunct>
 4206 ?        Z      0:00  \_ [pengine] <defunct>
 4207 ?        Z      0:00  \_ [stonithd] <defunct>
Comment 1 Jan Engelhardt 2010-08-04 09:29:32 UTC
Created attachment 380475 [details]
/var/log/messages
Comment 2 Jan Engelhardt 2010-08-04 09:30:46 UTC
Created attachment 380476 [details]
/etc/corosync/corosync.conf

Followed most of http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf .
Comment 3 Tim Serong 2010-08-04 14:03:59 UTC
Please verify cluster-glue and libglue2 are installed (not libheartbeat2).  The errors in /var/log/messages are indicative of a possible libglue library mismatch.
Comment 4 Jan Engelhardt 2010-08-04 14:29:54 UTC
Great! That was it ;-)
libglue2 vs. libheartbeat2.

If pacemaker/corosync have a dependency on libglue2 that is not
automatically detectable by rpmbuild, the .spec file of pace/coro
should be augmented by a manual Requires (including a comment
in the specfile).
Comment 5 Tim Serong 2010-08-05 15:29:09 UTC
I've added "Conflicts: libheartbeat2" to pacemaker.spec.  I tried "Requires: libglue2", but this doesn't work (the build log says I have to let RPM figure out lib dependencies, not use explicit Requires).

Packages with this change applied can be found at:

http://download.opensuse.org/repositories/home:/tserong:/branches:/openSUSE:/11.3:/Update:/Test/standard/
Comment 6 Jan Engelhardt 2010-08-05 16:04:15 UTC
You could use an rpmlintrc file to disable to particular requires check.

What seems a bit nicer is if you add a virtual provides to libglue2 ("Provides: pacemaker-glue") and have pacemaker require this in turn ("Requires: pacemaker-glue").
Comment 7 Tim Serong 2010-08-12 23:27:01 UTC
Requesting 11.3 update.

I discussed this fix upstream, the suggestion was to go with "Conflicts: libheartbeat2 < 3.0.0" as the simplest fix (libglue2 and libheartbeat2 both provide the same DSO, but the ABI changed between heartbeat < 3 and the latest libglue2).
Comment 8 Christian Dengler 2010-08-17 12:46:50 UTC
+1 for an update
Comment 9 Marcus Meissner 2010-08-23 07:35:18 UTC
will the update stack recover from this curious conflict situation by itself 
I am wondering... 

but anyway, lets update +1
Comment 10 Christian Dengler 2010-08-23 09:48:56 UTC
Fix it together with bug 623427 by using SwampID 35338. Thanks. If it affects the update stack (see comment #9), let me know.
Comment 11 Tim Serong 2010-08-23 13:04:34 UTC
Created submitreq 46019 for this with SWAMPID 35338.  Even if the conflict is ultimately resolved in some other way (e.g.: new version of heartbeat/libheartbeat), this fix won't hurt that.
Comment 12 Swamp Workflow Management 2010-08-30 13:55:09 UTC
Update released for: libopenais-devel, libopenais3, libopenais3-debuginfo, libpacemaker-devel, libpacemaker3, libpacemaker3-debuginfo, openais, openais-debuginfo, openais-debugsource, pacemaker, pacemaker-debuginfo, pacemaker-debugsource
Products:
openSUSE 11.3 (debug, i586, x86_64)
Comment 13 Tim Serong 2010-09-14 13:32:57 UTC
Closing (update released)
Comment 14 Bernhard Wiedemann 2016-04-15 12:55:16 UTC
This is an autogenerated message for OBS integration:
This bug (628243) was mentioned in
https://build.opensuse.org/request/show/46019 11.3:Test / pacemaker