Bug 40555
| Summary: | librpm calls abort() | ||
|---|---|---|---|
| Product: | [Retired] Red Hat Linux | Reporter: | Daniel Veillard <veillard> |
| Component: | rpm | Assignee: | Jeff Johnson <jbj> |
| Status: | CLOSED RAWHIDE | QA Contact: | David Lawrence <dkl> |
| Severity: | high | Docs Contact: | |
| Priority: | medium | ||
| Version: | 7.1 | ||
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2001-05-14 14:58:39 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: | |||
Should be mostly fixed in rpm-4.0.3-0.24 and later. There may still be some obscure pathways that fail with bad data on assert, so please reopen with a test case if you find such a pathway, and I'll get that pathway fixed as well. |
Description of Problem: librpm aborts making impossible to build reliable applications with it How Reproducible: use rpm2html to index some broken RPM like egcs-c++-1.1b-2.sparc.rpm from the libc6 Sparc contrib I assume rpm(1) will do the same Steps to Reproduce: 1. get the broken RPM 2. run rpm under gdb 3. put a breakpoint in exit and run it on the RPM Actual Results: this with rpm2html: Program received signal SIGABRT, Aborted. 0x401c8801 in __kill () from /lib/i686/libc.so.6 (gdb) where #0 0x401c8801 in __kill () from /lib/i686/libc.so.6 #1 0x401c85da in raise (sig=6) at ../sysdeps/posix/raise.c:27 #2 0x401c9d82 in abort () at ../sysdeps/generic/abort.c:88 #3 0x401c1cca in __assert_fail () at assert.c:60 #4 0x4009b645 in headerLoad () from /usr/lib/librpm.so.0 #5 0x4009c1b4 in headerRead () from /usr/lib/librpm.so.0 #6 0x400a56fc in readPackageHeaders () from /usr/lib/librpm.so.0 #7 0x400a5980 in rpmReadPackageHeader () from /usr/lib/librpm.so.0 #8 0x0804c9bc in rpmOpen (nameRpm=0x809379b "egcs-c++-1.1b-2.sparc.rpm", dir=0x808bf48, tree=0x80932e0) at rpmopen.c:949 #9 0x0804cdbd in rpmOneDirScan (dir=0x808bf48, tree=0x80932e0) at rpmopen.c:1174 #10 0x0804cf50 in rpmDirScan (dir=0x808bf48, tree=0x807ec48) at rpmopen.c:1233 #11 0x0804d331 in rpmDirScanOneDir ( directory=0xbffff91e "/serveur/ftp/linux/contrib/libc6/sparc") at rpmopen.c:1382 #12 0x0804a811 in main (argc=4, argv=0xbffff79c) at rpm2html.c:175 #13 0x401b7177 in __libc_start_main (main=0x804a340 <main>, argc=4, ubp_av=0xbffff79c, init=0x8049a14 <_init>, fini=0x80602c0 <_fini>, rtld_fini=0x4000e184 <_dl_fini>, stack_end=0xbffff78c) at ../sysdeps/generic/libc-start.c:129 (gdb) r Expected Results: a failure of the rpmReadPackageHeader() call Additional Information: