Bug 433795
Summary: | When building rpm bigger than 2G, rpmbuild fails with segmentation fault | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 4 | Reporter: | Jan Pazdziora (Red Hat) <jpazdziora> | ||||
Component: | rpm | Assignee: | Panu Matilainen <pmatilai> | ||||
Status: | CLOSED ERRATA | QA Contact: | |||||
Severity: | low | Docs Contact: | |||||
Priority: | low | ||||||
Version: | 4.6 | CC: | jhutar, jnovy, martin.budsjo, mvadkert, paulwaterman, psklenar, yersinia.spiros | ||||
Target Milestone: | rc | Keywords: | Reopened | ||||
Target Release: | --- | ||||||
Hardware: | All | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2009-05-18 20:05:20 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Description
Jan Pazdziora (Red Hat)
2008-02-21 14:41:58 UTC
Created attachment 295511 [details]
The spec file used to create the rpm
This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux maintenance release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux Update release for currently deployed products. This request is not yet committed for inclusion in an Update release. NAK. Segfaults can be fixed, but large file support you wont get in RHEL 4 (or 5 for that matter). Rpm is hardwired deep down to (signed) 32 bit integers for file sizes and doesn't support 64bit entities in headers at all, changing those would be a significant ABI+API breakage, no way suitable for an update release. Not to mention large file support is not even upstream yet although it's being planned there for the next major version. Development Management has reviewed and declined this request. You may appeal this decision by reopening this request. If large files are not supported at all, shouldn't rpm refuse to create that big rpm or otherwise handle the situation gracefully with some error message, instead of segfaulting? By the way, rpm-build-4.4.2-47.el5.x86_64 on RHEL 5 segfaults as well, while rpm-build-4.4.2.2-7.fc8.x86_64 on F8 does not segfault. Does is mean F8 already has different code base? Denise, why did you remove the rhel-4.7? flag? Are segfaults acceptable in our product now? Could you comment on the possibility of rpm gracefully refusing to create the big file instead of segfaulting, as proposed in my comment #5? OK, we're going to address the segfault in 4.8. But we can't do the large file support until the ABI/API changes (among other things) go in, and that can't happen until RHEL6. This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux maintenance release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux Update release for currently deployed products. This request is not yet committed for inclusion in an Update release. Devel ack... QA: This can be verified with the same test as is used for bug 448488 (ie rpm should simply refuse to build a package larger than it can handle) An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2009-0951.html I realize that this bug is already closed, but I'm adding this comment as the "fix" included in rpm-4.3.3-32_nonptl seems incorrect to me -- it goes far beyond fixing the segfault behavior described in the original bug and instead significantly changes the behavior of rpmbuild. Here are examples of specific test cases: 1) Create an .rpm where one file being packaged into the .rpm is larger than 2GB. This is the test case described in this bug. Old behavior: rpmbuild will segfault New behavior: rpmbuild will error exit 2) Create an .rpm where the total size of the files being packaged into the .rpm is larger than 2GB but no single file exceeds 2GB, and where those files are compressible such that the resulting .rpm will be less than 2GB. Old behavior: rpmbuild succeeds, creating an .rpm < 2GB New behavior: rpmbuild will error exit 3) Create an .rpm where the total size of the files being packaged into the .rpm is larger than 2GB but no single file exceeds 2GB, and where those files are not compressible. Old behavior: rpmbuild succeeds, creating an .rpm > 2GB New behavior: rpmbuild will error exit In case #2 and #3, above, is the new behavior correct? If so, what problems are caused by having .rpms as described? One week with no response; I'm considering opening a new bug regarding the apparently incorrect behavior of the fix. (In reply to comment #17) > One week with no response; I'm considering opening a new bug regarding the > apparently incorrect behavior of the fix. Did you open a new bug for this? |