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 bugzilla.redhat.com.
Bug 1503843 - libqb vs. ld.bfd/binutils-2.29 incompatibility made some executables unusable (indirectly due to 3rd party libqb-linked libraries)
Summary: libqb vs. ld.bfd/binutils-2.29 incompatibility made some executables unusable...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: pacemaker
Version: 27
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jan Pokorný [poki]
QA Contact: Fedora Extras Quality Assurance
URL: http://apps.fedoraproject.org/koschei...
Whiteboard:
Depends On: 1478089 1487787
Blocks: F27FinalFreezeException 1494598
TreeView+ depends on / blocked
 
Reported: 2017-10-18 21:48 UTC by Jan Pokorný [poki]
Modified: 2017-10-24 05:26 UTC (History)
6 users (show)

Fixed In Version: pacemaker-1.1.17-2.fc27
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1478089
Environment:
Last Closed: 2017-10-24 05:26:49 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Jan Pokorný [poki] 2017-10-18 21:48:12 UTC
Anabasis:
- 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
  integration
- Adam Williamson rebuilds corosync without RDMA but already
  catching on the work in progresss libqb:
  https://koji.fedoraproject.org/koji/buildinfo?buildID=960725
- 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
       rebuild

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, libqb.so (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. https://bodhi.fedoraproject.org/updates/FEDORA-2017-810447425f

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:
https://bodhi.fedoraproject.org/updates/FEDORA-2017-810447425f

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 https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-810447425f

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.


Note You need to log in before you can comment on or make changes to this bug.