Casino con il database rpm

Richieste generiche di aiuto
Post Reply
User avatar
GvMariani
Collaboratore
Collaboratore
Posts: 610
Joined: 27 July 2009, 11:31
ROSA: 2016.1 Fresh R10
OpenMandriva: -
Kernel: 4.19.13-nrj-desktop
Desktop: Plasma 5
country: Italy
Location: Cologno Monzese (MI) - Italia

Casino con il database rpm

Post 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

User avatar
NicCo
Amministratore
Amministratore
Posts: 4739
Joined: 6 December 2007, 19:54

Re: Casino con il database rpm

Post 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!
.
--- Professional experience ---
Kernel designer, engineer, maintainer and tester for ROSA Desktop and OpenMandriva Lx O.S.

--- currently I'm playing with ---
LTS Kernels > Linux 4.1.12-nrjQL <<< Linux 3.18.17-nrjQL <<< Linux 3.14.46-nrjQL
EOL Kernels > Linux 3.19.8-nrjQL <<< Linux 3.17.8-nrjQL <<< Linux 3.15.10-nrjQL

User avatar
NicCo
Amministratore
Amministratore
Posts: 4739
Joined: 6 December 2007, 19:54

Re: Casino con il database rpm

Post 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,,,
.
--- Professional experience ---
Kernel designer, engineer, maintainer and tester for ROSA Desktop and OpenMandriva Lx O.S.

--- currently I'm playing with ---
LTS Kernels > Linux 4.1.12-nrjQL <<< Linux 3.18.17-nrjQL <<< Linux 3.14.46-nrjQL
EOL Kernels > Linux 3.19.8-nrjQL <<< Linux 3.17.8-nrjQL <<< Linux 3.15.10-nrjQL

User avatar
GvMariani
Collaboratore
Collaboratore
Posts: 610
Joined: 27 July 2009, 11:31
ROSA: 2016.1 Fresh R10
OpenMandriva: -
Kernel: 4.19.13-nrj-desktop
Desktop: Plasma 5
country: Italy
Location: Cologno Monzese (MI) - Italia

Re: Casino con il database rpm

Post 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

User avatar
GvMariani
Collaboratore
Collaboratore
Posts: 610
Joined: 27 July 2009, 11:31
ROSA: 2016.1 Fresh R10
OpenMandriva: -
Kernel: 4.19.13-nrj-desktop
Desktop: Plasma 5
country: Italy
Location: Cologno Monzese (MI) - Italia

Re: Casino con il database rpm

Post 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

User avatar
NicCo
Amministratore
Amministratore
Posts: 4739
Joined: 6 December 2007, 19:54

Re: Casino con il database rpm

Post by NicCo »

Potapov sent me this msg:

try this:

rm -f /var/lib/rpm/__db*
rpm -vv --rebuilddb
.
--- Professional experience ---
Kernel designer, engineer, maintainer and tester for ROSA Desktop and OpenMandriva Lx O.S.

--- currently I'm playing with ---
LTS Kernels > Linux 4.1.12-nrjQL <<< Linux 3.18.17-nrjQL <<< Linux 3.14.46-nrjQL
EOL Kernels > Linux 3.19.8-nrjQL <<< Linux 3.17.8-nrjQL <<< Linux 3.15.10-nrjQL

User avatar
GvMariani
Collaboratore
Collaboratore
Posts: 610
Joined: 27 July 2009, 11:31
ROSA: 2016.1 Fresh R10
OpenMandriva: -
Kernel: 4.19.13-nrj-desktop
Desktop: Plasma 5
country: Italy
Location: Cologno Monzese (MI) - Italia

Re: Casino con il database rpm

Post 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

Post Reply