|Summary:||glibc: Reduce IFUNC resolver usage in libpthread and librt [Fedora]|
|Product:||[Fedora] Fedora||Reporter:||Jakob Hirsch <jh.redhat-2018>|
|Component:||glibc||Assignee:||Carlos O'Donell <codonell>|
|Status:||CLOSED ERRATA||QA Contact:||Fedora Extras Quality Assurance <extras-qa>|
|Version:||30||CC:||arjun.is, athmanem, codonell, dj, drjohnson1, fweimer, kdudka, kevin, law, mfabian, michel, pfrankli, praiskup, quantum.analyst, siddhesh, tcallawa, tmz|
|Fixed In Version:||glibc-2.30-4.fc31 glibc-2.29-22.fc30 glibc-2.30.9000-6.fc32 glibc-2.28-39.fc29||Doc Type:||If docs needed, set a value|
|Doc Text:||Story Points:||---|
|Last Closed:||2019-09-21 05:45:56 UTC||Type:||Bug|
|oVirt Team:||---||RHEL 7.3 requirements from Atomic Host:|
|Cloudforms Team:||---||Target Upstream Version:|
|Bug Depends On:|
|Bug Blocks:||1748194, 1748197|
Description Jakob Hirsch 2017-07-21 12:20:20 UTC
Description of problem: After the update to F26, a warning is shown at every cgit start, telling me /var/www/cgi-bin/cgit: Relink `/lib64/liblua-5.3.so' with `/lib64/libpthread.so.0' for IFUNC symbol `system' Despite this, it seems to work just fine, but the warnings are cluttering up web server's error log, which is (at least) annoying. Version-Release number of selected component (if applicable): # rpm -qf /var/www/cgi-bin/cgit /lib64/liblua-5.3.so /lib64/libpthread.so.0 cgit-1.1-2.fc26.x86_64 lua-libs-5.3.4-3.fc26.x86_64 glibc-2.25-7.fc26.x86_64 How reproducible: Always Steps to Reproduce: 1. run cgit from command line Actual results: Above warning message Expected results: No warning message Additional info: Worked fine in F25.
Comment 1 Kevin Fenzi 2017-07-24 19:56:02 UTC
Huh. This seems like it might be a lua bug? Moving there for comment.
Comment 2 Tom "spot" Callaway 2017-08-04 16:26:12 UTC
Florian, upstream lua remarked that they were surprised at the idea that their use of system would need -lpthread, and suggested that this might be a glibc regression introduced in 2.25. Would you be willing to look at this and offer advice? I think there is only one call of system() in the lua code, in src/loslib.c.
Comment 3 Florian Weimer 2017-08-04 16:38:00 UTC
This is a known issue, but we have not seen this with the system function before: https://sourceware.org/bugzilla/show_bug.cgi?id=20673 https://sourceware.org/bugzilla/show_bug.cgi?id=20998 With the current dynamic linker, the IFUNC resolver for system in libpthread is invalid.
Comment 4 Tom "spot" Callaway 2017-08-04 16:39:44 UTC
It seems like we should wait for it to be resolved in glibc rather than linking pthreads into lua. Do you agree?
Comment 5 Florian Weimer 2017-08-04 17:56:01 UTC
(In reply to Tom "spot" Callaway from comment #4) > It seems like we should wait for it to be resolved in glibc rather than > linking pthreads into lua. Do you agree? Yes, this needs to be addressed in glibc, either by changing the definition of system in libpthread, or relaxing IFUNC resolver requirements.
Comment 6 Tom "spot" Callaway 2017-08-04 20:45:42 UTC
Okay. Reassigning to glibc.
Comment 7 Jakob Hirsch 2017-12-15 11:53:18 UTC
glibc doesn't seem to care? FWIW, it's still there in F27 (with lua-libs-5.3.4-7.fc27.x86_64): /var/www/cgi-bin/cgit: Relink `/lib64/liblua-5.3.so' with `/lib64/libpthread.so.0' for IFUNC symbol `system'
Comment 8 Florian Weimer 2017-12-15 11:56:17 UTC
(In reply to Jakob Hirsch from comment #7) > glibc doesn't seem to care? We care, but it's not easy to fix.
Comment 9 Ben Cotton 2018-11-27 17:47:29 UTC
This message is a reminder that Fedora 27 is nearing its end of life. On 2018-Nov-30 Fedora will stop maintaining and issuing updates for Fedora 27. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '27'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 27 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete.
Comment 10 Ben Cotton 2019-02-19 17:12:19 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 30 development cycle. Changing version to '30.
Comment 11 Kamil Dudka 2019-06-18 07:21:16 UTC
*** Bug 1720948 has been marked as a duplicate of this bug. ***
Comment 12 Kamil Dudka 2019-06-18 07:23:03 UTC
A similar problem has been reported about libmagic and IFUNC symbol `vfork' (diagnostic message printed while executing git-annex). See bug #1720948 for details.
Comment 13 Florian Weimer 2019-09-03 06:58:31 UTC
glibc 2.30 in Fedora 31 fixes this. We may want to backport the changes, to get wider testing coverage for downstream.
Comment 14 Fedora Update System 2019-09-05 07:53:00 UTC
FEDORA-2019-c58a5380ea has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2019-c58a5380ea
Comment 15 Fedora Update System 2019-09-05 09:20:19 UTC
FEDORA-2019-2e9a65b50a has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-2e9a65b50a
Comment 16 Fedora Update System 2019-09-05 10:52:10 UTC
glibc-2.30-4.fc31 has been pushed to the Fedora 31 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-2019-c58a5380ea
Comment 17 Fedora Update System 2019-09-05 12:53:28 UTC
glibc-2.29-22.fc30 has been pushed to the Fedora 30 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-2019-2e9a65b50a
Comment 18 Fedora Update System 2019-09-06 09:44:17 UTC
FEDORA-2019-8532718f88 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2019-8532718f88
Comment 19 Fedora Update System 2019-09-06 12:34:01 UTC
glibc-2.29-22.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report.
Comment 20 Fedora Update System 2019-09-06 13:21:46 UTC
glibc-2.28-39.fc29 has been pushed to the Fedora 29 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-2019-8532718f88
Comment 21 Fedora Update System 2019-09-15 00:25:55 UTC
glibc-2.30-4.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.
Comment 22 Fedora Update System 2019-09-21 01:42:16 UTC
glibc-2.28-39.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.
Comment 23 Florian Weimer 2019-09-26 08:11:58 UTC
This upstream commit is also needed: commit b2b3b7598ae51c714b5fd0d0406d435e66f3624b Author: Adhemerval Zanella <firstname.lastname@example.org> Date: Wed Sep 25 22:10:00 2019 +0000 Set the expects flags to clock_nanosleep It moves the missing CFLAGS from rt/Makefile to time/Makefile missing from 7b5af2d8f2a2b (Finish move of clock_* functions to libc. [BZ #24959]). Checked on powerpc64le-linux-gnu. * rt/Makefile (CFLAGS-clock_nanosleep.c): Move to ... * time/Makefile (CFLAGS-clock_nanosleep.c): ... here.