Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at

Bug 1503843

Summary: libqb vs. ld.bfd/binutils-2.29 incompatibility made some executables unusable (indirectly due to 3rd party libqb-linked libraries)
Product: [Fedora] Fedora Reporter: Jan Pokorný [poki] <jpokorny>
Component: pacemakerAssignee: Jan Pokorný [poki] <jpokorny>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 27CC: andrew, anprice, dvossel, extras-qa, jpokorny, lhh
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Fixed In Version: pacemaker-1.1.17-2.fc27 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1478089 Environment:
Last Closed: 2017-10-24 05:26:49 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 1478089, 1487787    
Bug Blocks: 1396705, 1494598    

Description Jan Pokorný [poki] 2017-10-18 21:48:12 UTC
- binutils gets updated to 2.29
- libqb gets mass rebuilt, which fails [bug 1478089] due to
  the compatibility breaking linker version
- pacemaker gets mass rebuilt with prior-rebuild version of libqb,
  which succeeds incl. executing its just-built executables
  in %build and %check, which goes just fine because the
  corosync packages present in buildroot (corosynclibs* ones
  provide the libraries the executables link against) are built
  with prior-rebuild version of libqb
- I am trying to fix the mentioned FTBFS for libqb and basically
  using rawhide (pre-branching) for iterative development for
- Adam Williamson rebuilds corosync without RDMA but already
  catching on the work in progresss libqb:
- BAD THING: such mass-rebuilt pacemaker doesn't combine with
  such corosync build (some CLI executables will fail with assertion,
  propagating the problem further -- pcs cannot be built as it
  runs these programs during its %check)

Hence after final freeze of f27, under normal circumstances, we
are going to get:
1. WIP libqb
2. corosync linked against WIP libqb
3. unusable pacemaker

Ad 1.: that should be fixed with libqb-1.0.2-11.fc27 as a matter
       of [bug 1478089]

Ad 2.: is likely OK

Ad 3.: can be resolved with rebuilding pacemaker with libqb per
       Ad 1. -- this is a subject of this bug, that was created
       mainly to ask for final freeze exception for this new

Comment 1 Jan Pokorný [poki] 2017-10-19 07:00:13 UTC
Actually this problem is not limited to CLI tools, daemons are
affected alike.

For the record, this is how such failure on start is manifested:

$ crm_error -h
> crm_error: utils.c:69: common: Assertion `0' failed.
> Aborted (core dumped)

Comment 2 Jan Pokorný [poki] 2017-10-19 16:50:27 UTC
re [comment 0]:

> 2. corosync linked against WIP libqb
> [...]
> Ad 2.: is likely OK

No, it isn't at least with ppc64{,le} because, as mentioned, it
was compiled with a WIP version of libqb that sadly lacked the
guard for when the "callsite section" feature is not available
and coincidentally we artificially disable it for powerpc
platforms (perhaps valid in the past, now pretty debatable).

In turn, (which that corosync was linked against) was
made to a linker script even it should not at such systems,
and because definitions of QB_ATTR_SECTION_{START,END} were,
in contrast, guarded properly in <qb/qblog.h>, these were taken
as terminal (non-evaluated further) identifiers that are then
demanded (because the linker script previously, when the libs
were built on their own, instructed them to demand that later
like that so as to keep unresolved symbols behind) in the link
with the corosync libraries from corosync built per above.

See also [bug 1487787] -- corosync needs to be rebuilt first
with the said fix-complete libqb to allow for successfully
building pacemaker even with ppc64{,le}.

Comment 3 Fedora Update System 2017-10-19 18:32:51 UTC
corosync-2.4.2-6.fc27 libqb-1.0.2-11.fc27 pacemaker-1.1.17-2.fc27 has been submitted as an update to Fedora 27.

Comment 4 Jan Pokorný [poki] 2017-10-19 19:12:13 UTC
Asking for a final freeze exception for these intertwined bugs:
- libqb [bug 1478089]
- corosync [bug 1487787]
- pacemaker [bug 1503843]  <-- this one

The respective builds are stacked in a single bodhi update:

Comment 5 Fedora Update System 2017-10-21 19:25:38 UTC
corosync-2.4.2-6.fc27, libqb-1.0.2-11.fc27, pacemaker-1.1.17-2.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See for
instructions on how to install test updates.
You can provide feedback for this update here:

Comment 6 Fedora Update System 2017-10-24 05:26:49 UTC
corosync-2.4.2-6.fc27, libqb-1.0.2-11.fc27, pacemaker-1.1.17-2.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.