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/ _______________________________________________ pld-devel-en mailing list pld-devel-en@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-devel-en