pld rpm 5.4.17

Jakub Bogusz qboosh at pld-linux.org
Wed Feb 22 22:02:17 CET 2017


On Tue, Feb 21, 2017 at 09:51:13PM +0100, Jakub Bogusz wrote:
> On Tue, Jan 10, 2017 at 09:36:24PM +0200, Elan Ruusamäe wrote:
> > not cool.
> > 
> > $ rpm -q rpm
> > BDB0056 DB->cursor: DB_READ_COMMITTED, DB_READ_UNCOMMITTED and DB_RMW 
> > require locking
> > error: db3copen:db3.c:1470: db->cursor(22): Invalid argument
> > BDB0056 DB->cursor: DB_READ_COMMITTED, DB_READ_UNCOMMITTED and DB_RMW 
> > require locking
> > error: db3copen:db3.c:1470: db->cursor(22): Invalid argument
> > BDB0630 DB_THREAD mandates memory allocation flag on primary key DBT
> > error: db3cpget:db3.c:1568: db->pget(22): Invalid argument
> > error: error(22) getting keys from Nvra index
> > error: error(1) getting records from Nvra index
> > package rpm is not installed
> > 
> > luckily was able to downgrade.
> 
> Which db version was used?
> Was that default system db (with headers in /usr/include)?
> 
> I experienced such behaviour when trying to upgrade rpm 5.4.15+db 6.1.19
> to 5.4.17+db 6.1.29 (while the system db is 6.2.23, maybe some file
> caught system db.h)

Update: still the same with uid>0 (no write permission to /var/lib/rpm).
It seems that DB_READ_COMMITTED and DB_READ_UNCOMMITTED require +w,
so they should be filtered out in unprivileged mode.

> rpm 5.4.17+db 6.2.23 seems to have more chances to work, but:
> - dbconvert utility crashes badly:
> 
> -bash-4.4# ~comp/rpm/BUILD/rpm-5.4.17.db62/tools/dbconvert --rebuilddb
> BDB0055 illegal flag specified to DB_ENV->set_ext_file_threshold
> error: db_init:db3.c:1032: dbenv->set_event_notify(22): Zły argument
> *** db_init: dbenv->open  argument:
>         flags: 0x2421<CREATE,THREAD,INIT_MPOOL,INIT_TXN>
> *** db_init: dbenv->get_open_flags:
>         flags: 0x0
> BDB1565 DB_ENV->dbremove: method not permitted before handle's open method
> error: db_init:db3.c:1224: dbenv->failchk(22): Zły argument
> [2304927.265310] Process lt-dbconvert (pid: 19580, ti=db03a000 task=c847fb40 task.ti=db03a000)
> Segmentation fault
> 
> - rpm --rebuilddb complains:
> 
> error: db3: header #187105280 cannot be loaded -- skipping.
> error: db3: header #4127850496 cannot be loaded -- skipping.
> 
> (once per index)

And it wasn't possible to rebuild Filepaths index because of not enough
locks (16384 previously).
Increasing locks required Packages rebuild anyway (db_dump + db_load)
and most of the db problems are gone now.
This one is left though:

> error: db3: header #187105280 cannot be loaded -- skipping.
> error: db3: header #4127850496 cannot be loaded -- skipping.

How to check what these "headers" mean?
(old, unsupported keys? some old packages with missing fields which are
now required?)


-- 
Jakub Bogusz    http://qboosh.pl/


More information about the pld-devel-en mailing list