Bug 1409557 - New symbols were added to glibc between minor releases
Summary: New symbols were added to glibc between minor releases
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: glibc
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Carlos O'Donell
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1409590 1412137 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-01-02 13:20 UTC by Lukas Slebodnik
Modified: 2017-01-11 11:23 UTC (History)
11 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-01-02 14:56:28 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Lukas Slebodnik 2017-01-02 13:20:45 UTC
Description of problem:
The new function getentropy was added to glibc between releases glibc-2.24.90-22.fc26 and glibc-2.24.90-26.fc26.

It is awesome that you merge glibc master to rawhide very often
But new functions should not be added to version symbols between releases
because it breaks the standard workflow provided by version symbols.

As a result of this change I could not use dnf after upgrading
I could not use dnf after upgrading subset of packages in rawhide
e.g.

[root@f4dfe3d58f2e /]# rpm -q glibc system-python
glibc-2.24.90-22.fc26.x86_64
system-python-3.5.2-7.fc26.x86_64
[root@f4dfe3d58f2e /]# rpm -q --provides glibc | grep GLIBC_2.25
libc.so.6(GLIBC_2.25)(64bit)
libm.so.6(GLIBC_2.25)(64bit)
[root@f4dfe3d58f2e /]# rpm -q --whatrequires "libc.so.6(GLIBC_2.25)(64bit)"
no package requires libc.so.6(GLIBC_2.25)(64bit)

[root@f4dfe3d58f2e /]# dnf update --setopt=debuglevel=1 -y system-python
Last metadata expiration check: 0:02:13 ago on Mon Jan 02 13:05:23 2017 UTC.
Dependencies resolved.
==========================================================================================================
 Package                            Arch           Version                          Repository       Size
==========================================================================================================
Upgrading:
 dnf                                noarch         2.0.0-2.fc26                     rawhide         260 k
 dnf-conf                           noarch         2.0.0-2.fc26                     rawhide          43 k
 dnf-yum                            noarch         2.0.0-2.fc26                     rawhide          25 k
 libcomps                           x86_64         0.1.8-2.fc26                     rawhide          76 k
 libdnf                             x86_64         0.7.0-0.7gitf9b798c.fc26         rawhide         119 k
 librepo                            x86_64         1.7.20-3.fc26                    rawhide          74 k
 python3                            x86_64         3.6.0-1.fc26                     rawhide          58 k
 python3-dnf                        noarch         2.0.0-2.fc26                     rawhide         411 k
 python3-hawkey                     x86_64         0.7.0-0.7gitf9b798c.fc26         rawhide          49 k
 python3-iniparse                   noarch         0.4-23.fc26                      rawhide          46 k
 python3-libcomps                   x86_64         0.1.8-2.fc26                     rawhide          48 k
 python3-librepo                    x86_64         1.7.20-3.fc26                    rawhide          43 k
 python3-libs                       x86_64         3.6.0-1.fc26                     rawhide         1.4 M
 python3-pip                        noarch         9.0.1-3.fc26                     rawhide         1.7 M
 python3-pygpgme                    x86_64         0.3-21.fc26                      rawhide          91 k
 python3-rpm                        x86_64         4.13.0-9.fc26                    rawhide         105 k
 python3-setuptools                 noarch         32.3.1-1.fc26                    rawhide         568 k
 python3-six                        noarch         1.10.0-6.fc26                    rawhide          34 k
 rpm                                x86_64         4.13.0-9.fc26                    rawhide         517 k
 rpm-build-libs                     x86_64         4.13.0-9.fc26                    rawhide         121 k
 rpm-libs                           x86_64         4.13.0-9.fc26                    rawhide         303 k
 rpm-plugin-selinux                 x86_64         4.13.0-9.fc26                    rawhide          57 k
 rpm-plugin-systemd-inhibit         x86_64         4.13.0-9.fc26                    rawhide          57 k
 system-python                      x86_64         3.6.0-1.fc26                     rawhide          51 k
 system-python-libs                 x86_64         3.6.0-1.fc26                     rawhide         6.3 M

Transaction Summary
==========================================================================================================
Upgrade  25 Packages

Total download size: 13 M
Downloading Packages:
----------------------------------------------------------------------------------------------------------
Total                                                                     483 kB/s |  13 MB     00:26
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Failed to connect to bus: No such file or directory
Failed to connect to bus: No such file or directory

Upgraded:
  dnf.noarch 2.0.0-2.fc26                                 dnf-conf.noarch 2.0.0-2.fc26                   
  dnf-yum.noarch 2.0.0-2.fc26                             libcomps.x86_64 0.1.8-2.fc26                   
  libdnf.x86_64 0.7.0-0.7gitf9b798c.fc26                  librepo.x86_64 1.7.20-3.fc26                   
  python3.x86_64 3.6.0-1.fc26                             python3-dnf.noarch 2.0.0-2.fc26                
  python3-hawkey.x86_64 0.7.0-0.7gitf9b798c.fc26          python3-iniparse.noarch 0.4-23.fc26            
  python3-libcomps.x86_64 0.1.8-2.fc26                    python3-librepo.x86_64 1.7.20-3.fc26           
  python3-libs.x86_64 3.6.0-1.fc26                        python3-pip.noarch 9.0.1-3.fc26                
  python3-pygpgme.x86_64 0.3-21.fc26                      python3-rpm.x86_64 4.13.0-9.fc26               
  python3-setuptools.noarch 32.3.1-1.fc26                 python3-six.noarch 1.10.0-6.fc26               
  rpm.x86_64 4.13.0-9.fc26                                rpm-build-libs.x86_64 4.13.0-9.fc26            
  rpm-libs.x86_64 4.13.0-9.fc26                           rpm-plugin-selinux.x86_64 4.13.0-9.fc26        
  rpm-plugin-systemd-inhibit.x86_64 4.13.0-9.fc26         system-python.x86_64 3.6.0-1.fc26              
  system-python-libs.x86_64 3.6.0-1.fc26                 

Complete!

[root@f4dfe3d58f2e /]# rpm -q glibc system-python
glibc-2.24.90-22.fc26.x86_64
system-python-3.6.0-1.fc26.x86_64

[root@f4dfe3d58f2e /]# objdump -T /lib64/libpython3.6m.so.1.0 | grep getentropy
0000000000000000      DF *UND*  0000000000000000  GLIBC_2.25  getentropy
[root@f4dfe3d58f2e /]# objdump -T /lib64/libc.so.6 | grep getentropy

[root@f4dfe3d58f2e /]# dnf install lftp
/usr/libexec/system-python: relocation error: /lib64/libpython3.6m.so.1.0: symbol getentropy, version GLIBC_2.25 not defined in file libc.so.6 with link time reference



How reproducible:
Deterministic

Steps to Reproduce:
1. @see the steps above

//or
sh# rpm -q glibc
glibc-2.24.90-22.fc26.x86_64

sh# rpm -q --provides glibc | grep GLIBC_2.25
libc.so.6(GLIBC_2.25)(64bit)
libm.so.6(GLIBC_2.25)(64bit)

sh# objdump -T /lib64/libc.so.6 | grep getentropy
sh# dnf update -y glibc

sh# rpm -q --provides glibc | grep GLIBC_2.25
libc.so.6(GLIBC_2.25)(64bit)
libm.so.6(GLIBC_2.25)(64bit)

sh# objdump -T /lib64/libc.so.6 | grep getentropy
000000000003c6f0 g    DF .text  000000000000008c  GLIBC_2.25  getentropy

Actual results:
New symbols/functions are added to glibc in rawhide between minor releases
due to "Auto-sync with upstream master"

Expected results:
You might reconsider the work flow for merging glibc master into rawhide.


Additional info:
maybe there is some time schedule in glibc upstream which says that new symbols should not be added to master after some release (alpha, beta). It would help to eliminate such problems.

Another solution would be to automatically rebuild docker base image such change in glibc in rawhide. It would not fix the problem but t would reduce potential bugs.

Comment 1 Florian Weimer 2017-01-02 14:56:28 UTC
The emerging consensus on the devel list is that this is not a glibc packaging bug:

https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/B565A2TWWZILEJRI6BFEVNMI6PLGXGO5/

Please contribute to the discussion on the list if you disagree.  Thanks.

Comment 2 Igor Gnatenko 2017-01-02 17:48:16 UTC
*** Bug 1409590 has been marked as a duplicate of this bug. ***

Comment 3 Igor Gnatenko 2017-01-11 11:23:53 UTC
*** Bug 1412137 has been marked as a duplicate of this bug. ***


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