On Mon, Jun 15, 2015 at 7:38 PM, poma pomidorabelisima@gmail.com wrote:
# du -hs /lib/modules/4.0.5-300.fc22.i686/ | awk '{print $1}' 42M
kernel-modules-4.0.5-300.fc22.i686.rpm ... 17M
http://dl.fedoraproject.org/pub/fedora/linux/updates/testing/22/i386/k/
# du -hs /lib/modules/4.1.0-0.rc7.git0.1.fc23.x86_64/ | awk '{print $1}' 53M kernel-modules-4.1.0-0.rc7.git0.1.fc23.x86_64.rpm ... 18M https://kojipkgs.fedoraproject.org/packages/kernel/4.1.0/0.rc7.git0.1.fc23/x86_64/ ~~~~~~~~~~~ ~~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~ ~~~~~~~ ~~~~~~ ~~~~~ ~~~~ ~~~ ~~ ~ ~~ ~~~ # du -hs /lib/modules/4.1.0-0.rc7.git1.1.fc23.x86_64/ | awk '{print $1}' 439M kernel-modules-4.1.0-0.rc7.git1.1.fc23.x86_64.rpm ... 218M http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/x86_64/os/Packages/k/ ~~~~~~~~~~~ ~~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~ ~~~~~~~ ~~~~~~ ~~~~~ ~~~~ ~~~ ~~ ~ ~~ ~~~ ~~~~ # du -hs /lib/modules/4.1.0-0.rc8.git0.1.fc23.x86_64/ | awk '{print $1}' 438M kernel-modules-4.1.0-0.rc8.git0.1.fc23.x86_64.rpm ... 218M https://kojipkgs.fedoraproject.org/work/tasks/9420/10059420/ ~~~~~~~~~~~ ~~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~ ~~~~~~~ ~~~~~~ ~~~~~ 218 ÷ 18 = 12.111111111 439 ÷ 53 = 8.283018868 >= 4.1.0-0.rc7.git1.1 cca. 10 x sizeof
Those are debug builds.
On Mon, Jun 15, 2015 at 1:45 PM, drago01 drago01@gmail.com wrote:
On Mon, Jun 15, 2015 at 7:38 PM, poma pomidorabelisima@gmail.com wrote:
# du -hs /lib/modules/4.0.5-300.fc22.i686/ | awk '{print $1}' 42M
kernel-modules-4.0.5-300.fc22.i686.rpm ... 17M
http://dl.fedoraproject.org/pub/fedora/linux/updates/testing/22/i386/k/
# du -hs /lib/modules/4.1.0-0.rc7.git0.1.fc23.x86_64/ | awk '{print $1}' 53M kernel-modules-4.1.0-0.rc7.git0.1.fc23.x86_64.rpm ... 18M https://kojipkgs.fedoraproject.org/packages/kernel/4.1.0/0.rc7.git0.1.fc23/x86_64/ ~~~~~~~~~~~ ~~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~ ~~~~~~~ ~~~~~~ ~~~~~ ~~~~ ~~~ ~~ ~ ~~ ~~~ # du -hs /lib/modules/4.1.0-0.rc7.git1.1.fc23.x86_64/ | awk '{print $1}' 439M kernel-modules-4.1.0-0.rc7.git1.1.fc23.x86_64.rpm ... 218M http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/x86_64/os/Packages/k/ ~~~~~~~~~~~ ~~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~ ~~~~~~~ ~~~~~~ ~~~~~ ~~~~ ~~~ ~~ ~ ~~ ~~~ ~~~~ # du -hs /lib/modules/4.1.0-0.rc8.git0.1.fc23.x86_64/ | awk '{print $1}' 438M kernel-modules-4.1.0-0.rc8.git0.1.fc23.x86_64.rpm ... 218M https://kojipkgs.fedoraproject.org/work/tasks/9420/10059420/ ~~~~~~~~~~~ ~~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~ ~~~~~~~ ~~~~~~ ~~~~~ 218 ÷ 18 = 12.111111111 439 ÷ 53 = 8.283018868 >= 4.1.0-0.rc7.git1.1 cca. 10 x sizeof
Those are debug builds.
They aren't actually.
It looks like something in the buildroot stopped stripping the kernel modules between rc7.git0 and rc7.git1. Both elf-utils and binutils changed, so maybe something in there. The same SRPM build on F22 has the smaller size.
I haven't looked into it more than that. If someone wants to poke at this and figure out what broke, that would be excellent. From a kernel package perspective, there isn't anything that we did that should cause this change in behavior that I'm aware of.
josh
CC elfutils-devel, this appears to be a regression. I'm top-posting my own findings, but I'll leave the kernel report below...
With elfutils-0.162, it appears that "strip" doesn't reduce the file size when operating in-place (without -o). This isn't particular to funny kernel ELF -- I reproduced it on a local stap binary.
My full stap is 31MB. With strip -o, I get a new 2.5MB file. With strip in-place, stap remains 31MB even though the ELF section data does indicate all the DWARF sections are gone.
I bisected it to commit 77482c4bf63a. https://git.fedorahosted.org/cgit/elfutils.git/commit/?id=77482c4bf63a921661...
if (elf->parent == NULL && (elf->maximum_size == ~((size_t) 0) || (size_t) size > elf->maximum_size) - && unlikely (ftruncate (elf->fildes, size) != 0)) + && unlikely (posix_fallocate (elf->fildes, 0, size) != 0))
In elf_begin() w/ ELF_C_RDWR, we get maximum_size == ~0, but now this posix_fallocate can only increase the file size. The later part of write_file() to reduce the size is only called for maximum_size != ~0.
On 06/15/2015 11:32 AM, Josh Boyer wrote:
On Mon, Jun 15, 2015 at 1:45 PM, drago01 drago01@gmail.com wrote:
On Mon, Jun 15, 2015 at 7:38 PM, poma pomidorabelisima@gmail.com wrote:
# du -hs /lib/modules/4.0.5-300.fc22.i686/ | awk '{print $1}' 42M
kernel-modules-4.0.5-300.fc22.i686.rpm ... 17M
http://dl.fedoraproject.org/pub/fedora/linux/updates/testing/22/i386/k/
# du -hs /lib/modules/4.1.0-0.rc7.git0.1.fc23.x86_64/ | awk '{print $1}' 53M kernel-modules-4.1.0-0.rc7.git0.1.fc23.x86_64.rpm ... 18M https://kojipkgs.fedoraproject.org/packages/kernel/4.1.0/0.rc7.git0.1.fc23/x86_64/ ~~~~~~~~~~~ ~~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~ ~~~~~~~ ~~~~~~ ~~~~~ ~~~~ ~~~ ~~ ~ ~~ ~~~ # du -hs /lib/modules/4.1.0-0.rc7.git1.1.fc23.x86_64/ | awk '{print $1}' 439M kernel-modules-4.1.0-0.rc7.git1.1.fc23.x86_64.rpm ... 218M http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/x86_64/os/Packages/k/ ~~~~~~~~~~~ ~~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~ ~~~~~~~ ~~~~~~ ~~~~~ ~~~~ ~~~ ~~ ~ ~~ ~~~ ~~~~ # du -hs /lib/modules/4.1.0-0.rc8.git0.1.fc23.x86_64/ | awk '{print $1}' 438M kernel-modules-4.1.0-0.rc8.git0.1.fc23.x86_64.rpm ... 218M https://kojipkgs.fedoraproject.org/work/tasks/9420/10059420/ ~~~~~~~~~~~ ~~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~ ~~~~~~~ ~~~~~~ ~~~~~ 218 ÷ 18 = 12.111111111 439 ÷ 53 = 8.283018868 > = 4.1.0-0.rc7.git1.1 cca. 10 x sizeof
Those are debug builds.
They aren't actually.
It looks like something in the buildroot stopped stripping the kernel modules between rc7.git0 and rc7.git1. Both elf-utils and binutils changed, so maybe something in there. The same SRPM build on F22 has the smaller size.
I haven't looked into it more than that. If someone wants to poke at this and figure out what broke, that would be excellent. From a kernel package perspective, there isn't anything that we did that should cause this change in behavior that I'm aware of.
josh _______________________________________________ kernel mailing list kernel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/kernel
On Mon, 2015-06-15 at 14:28 -0700, Josh Stone wrote:
CC elfutils-devel, this appears to be a regression. I'm top-posting my own findings, but I'll leave the kernel report below...
With elfutils-0.162, it appears that "strip" doesn't reduce the file size when operating in-place (without -o). This isn't particular to funny kernel ELF -- I reproduced it on a local stap binary.
My full stap is 31MB. With strip -o, I get a new 2.5MB file. With strip in-place, stap remains 31MB even though the ELF section data does indicate all the DWARF sections are gone.
I bisected it to commit 77482c4bf63a. https://git.fedorahosted.org/cgit/elfutils.git/commit/?id=77482c4bf63a921661...
if (elf->parent == NULL && (elf->maximum_size == ~((size_t) 0) || (size_t) size > elf->maximum_size)
&& unlikely (ftruncate (elf->fildes, size) != 0))
&& unlikely (posix_fallocate (elf->fildes, 0, size) != 0))
In elf_begin() w/ ELF_C_RDWR, we get maximum_size == ~0, but now this posix_fallocate can only increase the file size. The later part of write_file() to reduce the size is only called for maximum_size != ~0.
Yes, you are right. Of course it is the smallest one-liner patch of the release with the most comments and discussions across multiple lists. And still people (me) failed to spot the maximum_size == -1 case. Sigh. Sorry about that.
Simplest probably is to just revert this one patch and do a elfutils 0.163 release with just that (and the translation updates). The issue that this was preventing (disk full with ELF_C_RDWR_MMAP, ftruncate appear to succeed, write in memory map causes SIGBUS) is probably less likely to trigger than this regression.
I have to get me some sleep now. I look over the other options tomorrow.
Cheers,
Mark
On Tue, 2015-06-16 at 00:20 +0200, Mark Wielaard wrote:
Simplest probably is to just revert this one patch and do a elfutils 0.163 release with just that (and the translation updates). The issue that this was preventing (disk full with ELF_C_RDWR_MMAP, ftruncate appear to succeed, write in memory map causes SIGBUS) is probably less likely to trigger than this regression.
Even simpler is to always just (also) call ftruncate to set the right file size. Which is what the attached patch does. It also includes some test cases to check in-place-eu-strip actually reduces the file size.
I'll update the elfutils fedora package so there is a fix right now. But unless people complain I would like to just make a 0.163 release end of the week with this fix and any other urgent fixes because I think this is a somewhat bad regression and we should urge people to not just patch, but to upgrade to a known good version.
Thanks,
Mark
On Tuesday, June 16, 2015 02:17:10 PM Mark Wielaard wrote:
On Tue, 2015-06-16 at 00:20 +0200, Mark Wielaard wrote:
Simplest probably is to just revert this one patch and do a elfutils 0.163 release with just that (and the translation updates). The issue that this was preventing (disk full with ELF_C_RDWR_MMAP, ftruncate appear to succeed, write in memory map causes SIGBUS) is probably less likely to trigger than this regression.
Even simpler is to always just (also) call ftruncate to set the right file size. Which is what the attached patch does. It also includes some test cases to check in-place-eu-strip actually reduces the file size.
I'll update the elfutils fedora package so there is a fix right now. But unless people complain I would like to just make a 0.163 release end of the week with this fix and any other urgent fixes because I think this is a somewhat bad regression and we should urge people to not just patch, but to upgrade to a known good version.
We need this fixed for the mass rebuild that is due to start right now. so please apply the patch ASAP and let me know so I can start the rebuild
Dennis
On Tue, Jun 16, 2015 at 10:26 PM, Dennis Gilmore dennis@ausil.us wrote:
On Tuesday, June 16, 2015 02:17:10 PM Mark Wielaard wrote:
On Tue, 2015-06-16 at 00:20 +0200, Mark Wielaard wrote:
Simplest probably is to just revert this one patch and do a elfutils 0.163 release with just that (and the translation updates). The issue that this was preventing (disk full with ELF_C_RDWR_MMAP, ftruncate appear to succeed, write in memory map causes SIGBUS) is probably less likely to trigger than this regression.
Even simpler is to always just (also) call ftruncate to set the right file size. Which is what the attached patch does. It also includes some test cases to check in-place-eu-strip actually reduces the file size.
I'll update the elfutils fedora package so there is a fix right now. But unless people complain I would like to just make a 0.163 release end of the week with this fix and any other urgent fixes because I think this is a somewhat bad regression and we should urge people to not just patch, but to upgrade to a known good version.
We need this fixed for the mass rebuild that is due to start right now. so please apply the patch ASAP and let me know so I can start the rebuild
It's already applied in NVR elfutils-0.162-2.fc23
On 06/16/2015 02:31 PM, Peter Robinson wrote:
On Tue, Jun 16, 2015 at 10:26 PM, Dennis Gilmore dennis@ausil.us wrote:
On Tuesday, June 16, 2015 02:17:10 PM Mark Wielaard wrote:
On Tue, 2015-06-16 at 00:20 +0200, Mark Wielaard wrote:
Simplest probably is to just revert this one patch and do a elfutils 0.163 release with just that (and the translation updates). The issue that this was preventing (disk full with ELF_C_RDWR_MMAP, ftruncate appear to succeed, write in memory map causes SIGBUS) is probably less likely to trigger than this regression.
Even simpler is to always just (also) call ftruncate to set the right file size. Which is what the attached patch does. It also includes some test cases to check in-place-eu-strip actually reduces the file size.
I'll update the elfutils fedora package so there is a fix right now. But unless people complain I would like to just make a 0.163 release end of the week with this fix and any other urgent fixes because I think this is a somewhat bad regression and we should urge people to not just patch, but to upgrade to a known good version.
We need this fixed for the mass rebuild that is due to start right now. so please apply the patch ASAP and let me know so I can start the rebuild
It's already applied in NVR elfutils-0.162-2.fc23
Yes. It doesn't appear to have landed on mirrors yet, but it is in f23-build. I just confirmed that it's reducing files properly now.
On Tue, Jun 16, 2015 at 10:36 PM, Josh Stone jistone@redhat.com wrote:
On 06/16/2015 02:31 PM, Peter Robinson wrote:
On Tue, Jun 16, 2015 at 10:26 PM, Dennis Gilmore dennis@ausil.us wrote:
On Tuesday, June 16, 2015 02:17:10 PM Mark Wielaard wrote:
On Tue, 2015-06-16 at 00:20 +0200, Mark Wielaard wrote:
Simplest probably is to just revert this one patch and do a elfutils 0.163 release with just that (and the translation updates). The issue that this was preventing (disk full with ELF_C_RDWR_MMAP, ftruncate appear to succeed, write in memory map causes SIGBUS) is probably less likely to trigger than this regression.
Even simpler is to always just (also) call ftruncate to set the right file size. Which is what the attached patch does. It also includes some test cases to check in-place-eu-strip actually reduces the file size.
I'll update the elfutils fedora package so there is a fix right now. But unless people complain I would like to just make a 0.163 release end of the week with this fix and any other urgent fixes because I think this is a somewhat bad regression and we should urge people to not just patch, but to upgrade to a known good version.
We need this fixed for the mass rebuild that is due to start right now. so please apply the patch ASAP and let me know so I can start the rebuild
It's already applied in NVR elfutils-0.162-2.fc23
Yes. It doesn't appear to have landed on mirrors yet, but it is in
Mirrors aren't used for mass rebuilds, it doesn't go out to the mirrors until after the nightly build, so it'll be out there for general consumption tomorrow.
Peter
kernel@lists.fedoraproject.org