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 rpm-python-4.3.3-13_nonptl rpm-4.3.3-13_nonptl rpm-libs-4.3.3-13_nonptl rpm-build-4.3.3-13_nonptl Adding the --noscripts option, and creating the initrd with mkinitrd manually works around the problem. How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
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)?