Page 1 of 1

Casino con il database rpm

Posted: 27 July 2015, 16:57
by GvMariani
Da qualche minuto (non ho idea del perché) qualunque tentativo di lanciare rpm mi dà questo errore:

Code: Select all

rpmdb: BDB0101 Transaction that opened the DB handle is still active
error: db3copen:db3.c:1340: db->cursor(22): Invalid argument
rpmdb: BDB0055 illegal flag specified to DB->get
error: db3cget:db3.c:1397: db->get(22): Invalid argument
rpm: rpmdb.c:2323: rpmmiNext: Assertion `0' failed.
Qualcuno ha idea di cosa cavolo sta succedendo e, soprattutto, di come rimediare?

Alla brutta posso sempre installare la R6 che mi sono appena scaricato...

GvM

Re: Casino con il database rpm

Posted: 27 July 2015, 17:50
by NicCo
Qualche tempo fa ho avuto un errore simile sul PC con ROSA Fresh di mio figlio
e ho risolto in qualche modo...

mi sembra che sono andato in

Code: Select all

/var/lib/rpm
prima ho cancellato tutti i file db.001, db.002, e così via
anzi li ho spostati su una cartella perchè non ero sicuro

__db.001
__db.002
........
__db.006

forse c'era anche un altro nome di file del tipo dbase.lck
ho fatto lo stesso con questo,

poi ho rigenerato il db degli rpm, con un comando rpm

Code: Select all

rpm --help

Opzioni di database
      --rebuilddb                   rebuild database inverted lists from installed package headers
dovrebbe essere questo, quindi dai il comando

Code: Select all

# rpm --rebuilddb
durante tale processo potevo anche vedere i files db.00x
che si andavano generando e crescevano di dimensione

poi mi ricordo che c'è stato da aspettare parecchio tempo,
mezzora, quando ha finito di rigenerare l'archivio, riavvia!

Re: Casino con il database rpm

Posted: 27 July 2015, 23:06
by NicCo
Avevo chiesto ad Alexander Potapov, che cosa si potesse consigliare a chi incorreva in tal problema,
ho trovato la sua risposta con un link ad una guida con il testo in russo, ma i comandi sono in inglese:

http://wiki.rosalab.ru/ru/index.php/%D0 ... %D0%B0_RPM

vengono proposte 3 soluzioni, per il testo puoi sempre adoperare un servizio di web translator,,,

Re: Casino con il database rpm

Posted: 27 July 2015, 23:17
by GvMariani
Grazie per la celere risposta...
NicCo wrote:Qualche tempo fa ho avuto un errore simile sul PC con ROSA Fresh di mio figlio
e ho risolto in qualche modo...

Code: Select all

# rpm --rebuilddb
poi mi ricordo che c'è stato da aspettare parecchio tempo,
mezzora, quando ha finito di rigenerare l'archivio, riavvia!
purtroppo non funziona; dopo un bel po' fallisce con questo errore:

Code: Select all

rpmdb: BDB2055 Lock table is out of available lock entries
Vedrò domani se il link che mi hai inviato nell'altro messaggio produce qualche risultato...

GvM

Re: Casino con il database rpm

Posted: 28 July 2015, 18:53
by GvMariani
NicCo wrote:Avevo chiesto ad Alexander Potapov, che cosa si potesse consigliare a chi incorreva in tal problema,
ho trovato la sua risposta con un link ad una guida con il testo in russo, ma i comandi sono in inglese:
http://wiki.rosalab.ru/ru/index.php/%D0 ... %D0%B0_RPM
vengono proposte 3 soluzioni, per il testo puoi sempre adoperare un servizio di web translator,,,
Non ne funzionano due su tre...

La prima produce questo output:

Code: Select all

checking /var/lib/rpm/Packages: 9141/9141 100%
0/9141 (0.000000%) headers damaged
e. ovviamente, un successivo rebuilddb fallisce col solito errore

Code: Select all

rpmdb: BDB2055 Lock table is out of available lock entries
La terza produce invece questo output:

Code: Select all

Undefined subroutine &URPM::DB::convert called at -e line 1.
Presumo che qualcosa sia cambiato nel modulo perl URPM...

La seconda produce questo output:

Code: Select all

BDB2526 Finding last valid log LSN: file: 519 offset 2313894
BDB1518 Recovery complete at Tue Jul 28 18:02:09 2015
BDB1519 Maximum transaction ID 0 recovery checkpoint [519][2313802]
e. al momento. è in fase di rebuilddb...
vediamo se questo funziona.
UPDATE:
Non funziona neanche questa; output:

Code: Select all

rpmdb: BDB2055 Lock table is out of available lock entries
error: db3associate:db3.c:1582: db->associate(12): Cannot allocate memory

GvM

Re: Casino con il database rpm

Posted: 30 July 2015, 13:48
by NicCo
Potapov sent me this msg:

try this:

rm -f /var/lib/rpm/__db*
rpm -vv --rebuilddb

Re: Casino con il database rpm

Posted: 31 July 2015, 13:33
by GvMariani
Non c'è più niente da fare...
Fra un tentativo e l'altro devo aver fatto casino e non si riesce più a rebuildare un cavolo di niente.
Mi darò alla reinstallazione della Fresh R6 :(

Per la cronaca, penso che il problema stesse nella configurazione di default del DB di rpm:
nella sezione "locking" del file DB_CONFIG che si trova in /var/lib/rpm ci sono questi statement

Code: Select all

set_lk_max_locks 16384
set_lk_max_lockers 16384
set_lk_max_objects 16384
mutex_set_max 163840
Credo sia probabile che, avendo io installato un fracco di rpm (più di 9100), il processo di rebuild raggiungesse agevolmente quei liimiti e quindi fallisse con l'errore che ricevevo...
avevo in mente di triplicarli o quadruplicarli per poi ritentare il rebuild, ma è successo prima quanto sopra: quindi ciccia.

Grazie lo stesso per l'assistenza...

GvM