[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: librpm / corrupt free list in an FD_t (help please)



Re: from few weeks ago (vacations)

> There's code in rpm-4.0.4 rpmdb/falloc.c that, if the free-list chain is
> "broken", sequentially searches forward, looking for next item in chain.
> 
> Back porting to rpm-3.0.4 shouldn't be difficult, poke me at
>         http://bugzilla.redhat.com
> if you need help.

	I did the backport from 4.0.4 in falloc.[ch]
as you sugested (a bunch of "memset()" paranoia + fadSanity();). 

	I'm wondering if you would
know a good test proceedure (any way to corrupt a "free list" ?). 

	Because I know that this happens intermitently; 
I'm weary of releasing a software without being quite sure
I fixed the problem.

Thanks in advance,
			-Tristan

Jeff Johnson wrote:
> 
> On Thu, Dec 19, 2002 at 11:24:46AM -0500, Tristan Van Berkom wrote:
> > Hello all!,
> >       I've come to this list for some help
> > on a little problem I'm having with rpmlib 3.0.4.
> >
> > Ok this is the _whole_ story since I really dont
> > know which aspect could have caused this error...
> > please bear with me:
> >
> >       I'm developing a software update program
> > for an aplience (jukebox). Basicly; we have a
> > partition with a `busybox' linux distro for
> > installation of packages (this allows us to
> > remotly update the kernel). the main partition
> > is running linux 2.4.16. So what we do is boot
> > into our `busybox' and `chroot' to our main
> > partition (after mounting everything else)
> > to execute the software updater. The rpm
> > database and config files are in the
> > default places in our `main' root partition
> > (after the chroot: /var/lib/rpm/ /etc/rpm/).
> >
> 
> There's code in rpm-4.0.4 rpmdb/falloc.c that, if the free-list chain is
> "broken", sequentially searches forward, looking for next item in chain.
> 
> Back porting to rpm-3.0.4 shouldn't be difficult, poke me at
>         http://bugzilla.redhat.com
> if you need help.
> 
> This heuristic "works" because usually (but not always) the missing item
> is the next entry, often the case when rpm --rebuilddb is run frequently.
> 
> FWIW: db1 (and especially the falloc.c code) was abandoned in rpm-4.0.x,
> and entirely removed in rpm-4.1, exactly because of "freelist corupt"
> problems like this.
> 
> 73 de Jeff
> 
> --
> Jeff Johnson    ARS N3NPQ
> jbj@redhat.com (jbj@jbj.org)
> Chapel Hill, NC
> 
> _______________________________________________
> Rpm-list mailing list
> Rpm-list@redhat.com
> https://listman.redhat.com/mailman/listinfo/rpm-list





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] []