Description of problem:
When an attempt is made to install kernel-2.6.9-34.0.1.EL.i686 onto an RHEL4
machine, the following error is thrown:
[root@samantha ~]# rpm -U --force kernel-2.6.9-34.0.1.EL.i686.rpm
/sbin/mkinitrd: line 784: 3207 Segmentation fault gzip -9 <$IMAGE
>$targetmkinitrd failed error: %post(kernel-2.6.9-34.0.1.EL.i686) scriptlet
failed, exit status 1
At this point the rpm is half installed - the kernel image is present, but the
modules are not, even though rpm -q -l kernel shows the full filelist.
Version-Release number of selected component (if applicable):
[root@samantha ~]# rpm -q -a | grep rpm
Adding the --noscripts option, and creating the initrd with mkinitrd manually
works around the problem.
Steps to Reproduce:
The segfault is not in rpm, but rather in mkinitrd. You might wish to change the component.
I originally figured this was RPM, as only half the files in the RPM were
written to the file system, however this may be a combination bug where mkinitrd
segfaults, and rpm then bombs out ungracefully.
Can you reproduce reliably - if so do you have a core dump (ulimit -c unlimited
then run reproducer).
Please also note that if you are a Red Hat Enterprise Linux customer and have an
active support entitlement, please contact to Red Hat Support for assistance
with your issue.
It's not in mkinitrd, it's in gzip.
Could you please attach $IMAGE file which was created during the unsuccessful
upgrade (it should be in /tmp/initrd.img.XXXXXX directory)?