Bug 1713866 - Huge file size increase after last update
Summary: Huge file size increase after last update
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: rpm
Version: 30
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Packaging Maintenance Team
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-05-25 09:53 UTC by Ali Akcaagac
Modified: 2019-09-01 06:44 UTC (History)
9 users (show)

Fixed In Version: rpm-4.14.2.1-5.fc30
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-09-01 06:44:12 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Ali Akcaagac 2019-05-25 09:53:22 UTC
;--- latest update of vim packages from fedora
[root@localhost bin]# ls -l vi*
lrwxrwxrwx 1 root root       3 May 25 11:23 vi -> vim
lrwxrwxrwx 1 root root       2 May 20 09:57 view -> vi
-rwxr-xr-x 1 root root 4973160 May 20 09:57 vim
lrwxrwxrwx 1 root root       3 May 20 09:57 vimdiff -> vim
-rwxr-xr-x 1 root root    2124 May 20 09:56 vimtutor
-rwxr-xr-x 1 root root 1986624 May 20 09:57 vi.orig
[root@localhost bin]# cd /.cdrom2/bin/


;--- the updates that came before
[root@localhost bin]# ls -l vi*
lrwxrwxrwx 1 root root       3 May 22 00:00 vi -> vim
lrwxrwxrwx 1 root root       2 May 22 00:00 view -> vi
-rwxr-xr-x 1 root root 3305528 May 22 00:00 vim
lrwxrwxrwx 1 root root       3 May 22 00:00 vimdiff -> vim
-rwxr-xr-x 1 root root    2124 May 22 00:00 vimtutor
-rwxr-xr-x 1 root root 1348880 May 22 00:00 vi.orig
[root@localhost bin]# 

vi before = 1348880
vi after  = 1986624

vim before = 3305528
vim after  = 4973160

After stripping the binaries of the recent update, the size normalizes again. Therefore I speculate, that the packages that made it into the update, did not include stripped binaries. Looking inside the binaries, I receive a lot of "fortify" informations.

It would be nice, if you could provide stripped binaries.

Thanks

Comment 1 Zdenek Dohnal 2019-05-27 14:31:50 UTC
Hi Ali,

thank you for filing the report! Would you mind elaborate on what's the latest update is? Because you filed the bug for F28, where was no update since the beginning of April. And 'file' command say it is stripped binary on rawhide and F29 (the same Vim patchlevels).

Comment 2 Ali Akcaagac 2019-05-28 18:05:25 UTC
Sorry I don't know what went wrong during typing the Bugreport here. But this Bugreport was supposed to be meant for Fedora 30 and the latest packages:

[aakcaagac@localhost ~]$ rpm -qa vim* | sort
vim-common-8.1.1359-1.fc30.x86_64
vim-enhanced-8.1.1359-1.fc30.x86_64
vim-filesystem-8.1.1359-1.fc30.noarch
vim-minimal-8.1.1359-1.fc30.x86_64
[aakcaagac@localhost ~]$ 

The file sizes inside don't closely match to those from the version before as shown above.

The difference from 3.3 mb to 4.9 mb is 1.6 mb (and this only for a handful of patches). The binary can't be blown up that much for only a few patches.

But yes, the binary is "stripped" after you run file ontop of it. But the file is not truly stripped.

What I figured out is this:

Somehow Fedora seem to store "notes" within the binaries. The service to build the packages seem to be stripping the binaries but keep the notes inside the binaries. I found binaries from Fedora with over 256 and more equal or identical notes stored inside the binary files.

Running a manual "strip vim" over the last package e.g. 8.1.1359 reduced the 4.9 mb file to

[aakcaagac@localhost ~]$ ls -l /bin/vim
-rwxr-xr-x 1 root root 3177848 May 26 00:00 /bin/vim
[aakcaagac@localhost ~]$ 

~3.1 mb saving yet another 1.8 mb of "wasted" binary content (the notes stored inside the vim file).

To be honest: I found over ~280 mb of such "left in notes" within recent Fedora 30 updates. Therefore either the strip mechanism is broken in the infrastructure, or the notes are left inside on purpose (which blows up the file to a certain degree) or something has changed in the infrastructure which left this situateion unaware.

I don't see the reason leaving ~1.8 mb of repeated "fortify" informations inside the vim executable.

Comment 3 Zdenek Dohnal 2019-05-29 10:03:41 UTC
If it is seen on other packages, then it is probably not vim fault. Switching to rpm component, because it happens during rpmbuild and they can have idea what can cause creation of non fully stripped binaries.

Comment 4 Panu Matilainen 2019-05-29 10:15:20 UTC
Right, I think this is due to libmagic output changing for position-independent executables, which causes minidebuginfo processing to fail and leaving all that cruft behind. IIRC. There have been so many similar fixes and tweaks in recent times that I've lost track of what was fixed where, clearly this is only fixed in rawhide though.

Comment 5 Zdenek Dohnal 2019-05-29 10:17:19 UTC
Thank you for the info, Panu!

Comment 6 Ali Akcaagac 2019-05-30 03:45:14 UTC
(In reply to Zdenek Dohnal from comment #3)
> If it is seen on other packages, then it is probably not vim fault.

I believe so too. But I wasn't aware of this situation, until I investigated more into the problem.
This should clearly be fixed (even for F30) because - as I mentioned - I stripped over 280 mb of
repeated binary notes from executables and libraries for just a small and lean Xfce4 installation.

Comment 7 Fedora Update System 2019-08-29 10:57:39 UTC
FEDORA-2019-e800418aac has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-e800418aac

Comment 8 Fedora Update System 2019-08-30 00:04:50 UTC
rpm-4.14.2.1-5.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-e800418aac

Comment 9 Fedora Update System 2019-09-01 06:44:12 UTC
rpm-4.14.2.1-5.fc30 has been pushed to the Fedora 30 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.