Bug 1487787 - corosync libraries built with work-in-progress fix in libqb so as to re-establish compatibility with ld from binutils 2.29 are unusuable on powerpc platforms for further link
Summary: corosync libraries built with work-in-progress fix in libqb so as to re-estab...
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: corosync
Version: 27
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jan Pokorný [poki]
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: AcceptedFreezeException
Keywords: Reopened
Depends On:
Blocks: PPCTracker F27FinalFreezeException 1503843
TreeView+ depends on / blocked
 
Reported: 2017-09-01 22:17 UTC by Tom Hughes
Modified: 2017-10-24 19:30 UTC (History)
11 users (show)

(edit)
Clone Of:
(edit)
Last Closed: 2017-10-24 05:26:32 UTC


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Bugzilla 1478089 None None None Never
Red Hat Bugzilla 1494598 None None None Never

Internal Trackers: 1478089 1494598

Description Tom Hughes 2017-09-01 22:17:39 UTC
Description of problem:

Linking a simple test program against libcpg fails on ppc64 and ppcl64. For example this:

<mock-chroot> sh-4.4# cat test.c
#include "corosync/cpg.h"

void main ()
{
   cpg_join( 0, 0 );
}
<mock-chroot> sh-4.4# gcc -o test test.c -lcpg
/usr/lib/gcc/ppc64le-redhat-linux/7/../../../../lib64/libcpg.so: undefined reference to `QB_ATTR_SECTION_START'
/usr/lib/gcc/ppc64le-redhat-linux/7/../../../../lib64/libcpg.so: undefined reference to `QB_ATTR_SECTION_STOP'
collect2: error: ld returned 1 exit status

I'm not sure if the issue is in corosynclib or libqb to be honest - libqb.so is a weird linker script that is trying to define those symbols.

Version-Release number of selected component (if applicable):

corosynclib-devel-2.4.2-5.fc28.ppc64le

Comment 1 Jan Friesse 2017-09-04 06:18:44 UTC
It's for sure the libqb but I'm not so sure if this problem is going to be fully solved by libqb or if we would have to have some part of "fix" also in corosync.

Libqb upstream bug https://github.com/ClusterLabs/libqb/pull/266 (what I believe is related).

@Poki, what is current state of patch? Do you think it solves also this bz? Do we need to add something to corosync to fix this bz?

Comment 2 Jan Pokorný [poki] 2017-09-04 12:51:38 UTC
In this very case, the problem is indeed in libqb itself, for some reason
the preprocessor worked differently for ppc64le architecture (and perhaps
some others) in comparison to x86_64 (the only tested arch, frankly),
resulting in QB_ATTR_SECTION_{START,STOP} not being resolved per
expectations.

Hence this is not directly related to corosync, but rather a libqb issue,
will take a look.

Comment 3 Jan Pokorný [poki] 2017-09-04 13:41:34 UTC
Explanation seems simple for ppc64le:
> checking whether GCC supports __attribute__((section()) + ld supports orphan sections... no

This circumstance fell out of this picture when crafting a fix
and testing on x86_64.

Comment 4 Jan Pokorný [poki] 2017-09-04 16:03:58 UTC
Should be fixed in the (interim) libqb-1.0.2-7.fc28 build, will fix it
for f27 preferably once the wider change is ready (worst case: will
reuse the same mini fix prior to the freeze deadline).  It is not
expected any corosync recompilation would be needed at this point.

Based on the unit tests, seems like "powerpc" platforms actually
support "attribute sections" just as well, at least nowadays, so
it would be preferable to stop disabling that feature here
unconditionally.  However, the cross-combinations enabled-disabled
between library and its users needs to be tested first.

Comment 5 Jan Pokorný [poki] 2017-09-06 08:56:17 UTC
Anyway, linking against a library that's itself linked against libqb
makes few more entries in the test matrix to go through.  Thanks for
bringing that into attention.

Comment 6 Marian Csontos 2017-09-27 11:59:56 UTC
The library still can not be used even on Rawhide - see Bug 1496425#c1 - though it is reported against F27, the same issue is seen on Rawhide with updated library. Is that what you meant by Comment 5? Should this be reopened?

Comment 7 Jan Pokorný [poki] 2017-10-13 21:30:41 UTC
Yes, thanks for pointing that out, there's an enourmous pile
of unanswered items arising from the combinatorical explosion
when the world is suddenly not that linear it used to be :-/
(Pandora's box of sorts).

Anyway, I hope libqb-1.0.2-10 as of src.fedoraproject.org repo
is in a good shape, sadly another roadblock is that armv7hl
arch is failing on ipc.test, likely because of timeout that
needs to be tweaked, but need to check that first to be sure
(https://koji.fedoraproject.org/koji/taskinfo?taskID=22428341).

Comment 8 Fedora Update System 2017-10-14 00:17:40 UTC
libqb-1.0.2-10.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-810447425f

Comment 9 Fedora Update System 2017-10-15 05:53:16 UTC
libqb-1.0.2-10.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 10 Fedora Update System 2017-10-18 20:24:28 UTC
libqb-1.0.2-11.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-810447425f

Comment 11 Fedora Update System 2017-10-19 15:22:54 UTC
libqb-1.0.2-11.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 12 Jan Pokorný [poki] 2017-10-19 16:52:32 UTC
Tom and others,

I am sorry to mis-understand/-handle this bug report as it wasn't until
now that I've now run into the same problem when rebuilding pacemaker
with allegedly fix-complete libqb
(https://koji.fedoraproject.org/koji/taskinfo?taskID=22532041).

This bug should indeed be targeting corosync, but it's not a corosync
bug per se, and the only task here is to rebuild corosync for Fedora 27
and kindly ask for a freeze exception, which is exactly what I am going
to do.

For analysis, see [bug 1503843 comment 2].

This is nowhere near a trivial problem as the impact seems to be
spreading in subtle ways.
Thanks for understanding.

Comment 13 Fedora Update System 2017-10-19 17:34:23 UTC
corosync-2.4.2-6.fc27 libqb-1.0.2-11.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-810447425f

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

The respective builds are stacked in a single bodhi update:
https://bodhi.fedoraproject.org/updates/FEDORA-2017-810447425f

Comment 15 Fedora Update System 2017-10-21 19:25:32 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 16 Geoffrey Marr 2017-10-23 21:48:13 UTC
Discussed during the 2017-10-23 blocker review meeting: [1]

The decision to classify this bug as an AcceptedFreezeException was made as this affects build and functionality of several packages and dependency chains on non-release-blocking arches, so it would be good to have fixed.

[1] https://meetbot.fedoraproject.org/fedora-blocker-review/2017-10-23/f27-blocker-review.2017-10-23-16.00.txt

Comment 17 Fedora Update System 2017-10-24 05:26:32 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.