Bug 21749 - RPM segfaults if /var is full.
Summary: RPM segfaults if /var is full.
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: rpm
Version: 6.2
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jeff Johnson
QA Contact: David Lawrence
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2000-12-05 16:33 UTC by Dag Wieers
Modified: 2007-04-18 16:30 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2001-08-24 23:23:37 UTC
Embargoed:


Attachments (Terms of Use)

Description Dag Wieers 2000-12-05 16:33:23 UTC
I noticed the following problem when using rpm on an ftp-server, eg.

	rpm -Fhv ftp://cube0/pub/redhat/updates/6.2/i386/*.rpm

when /var is full (because of recurring dependency-problems when more than
one release of a package is on a mirror-site eg. pam-0.72-20 and
pam-0.72-20.6.x).

RPM doesn't seem to clean up its /var filesystem AND it segfaults when it
doesn't have space available for downloading packages using a temporary
name.

-- dag wieers, dag, http://mind.be/ --
                Out of swap, out of luck.

Comment 1 Jeff Johnson 2001-03-23 03:04:35 UTC
/var is also where the rpm database lives. Graceful behavior with ENOSPC returns
from
the file system on which the active/open database resides is not gonna happen
soon

Comment 2 Jeff Johnson 2001-07-29 17:11:50 UTC
The db-3.3.11 used in rpm-4.0.3 claims graceful behavior under
ENOSPC conditions. Time will tell ...

Comment 3 Dag Wieers 2001-08-24 23:23:32 UTC
I'm going to my old bug-reports and want to add this.

This bug was about 2 bugs in rpm, the first one is causing the second in a way.
I should have made this clearer.

 1. If rpm downloads packages but cannot install them, it keeps them stored
somewhere in /var and does not clean them. (Not in my case anyway)
    The bad thing is that the filename is not kept and you have to query each
and everyone. Plus: packages that were not downloaded fully were kept too...
    Filling your /var-partition more and more (with every try)

 2. If /var-partition is full it segfaults, where it should not segfault anyway.
    It could check on beforehand if it is already full and quite with a nice  
message and/or check during downloading...

I'm not sure whether both bugs are solved already. (Is not in the changelog
anyway so I reopened it.)

Comment 4 Jeff Johnson 2001-08-25 13:48:30 UTC
Yes, space in /var/tmp is needed for downloads, and
on errors the packages are not cleaned up so that
you have a prayer of debugging the problem.

Yes, the file names are goofy, this is a side effect
of using the makeTempFile API which permits
a configurable %{_tmppath} to be prepended.
The file name will be changed at some point,
use another means to download packages
if the name bothers you.

No, rpm should not (can not?) check for all
possible failure conditions like ENOSPC on
/var. Perform normal system administration
duties instead.


Note You need to log in before you can comment on or make changes to this bug.