[Mageia-dev] Fatal errors with rpm

Wolfgang Bornath molch.b at googlemail.com
Wed Mar 14 18:33:47 CET 2012


2012/3/14 Robert Fox <list at foxconsult.net>:
> On Wed, 2012-03-14 at 18:19 +0100, Wolfgang Bornath wrote:
>> 2012/3/14 Wolfgang Bornath <molch.b at googlemail.com>:
>> > 2012/3/14 Wolfgang Bornath <molch.b at googlemail.com>:
>> >> 2012/3/14 Wolfgang Bornath <molch.b at googlemail.com>:
>> >>> 2012/3/14 Wolfgang Bornath <molch.b at googlemail.com>:
>> >>>> 2012/3/14 Robert Fox <list at foxconsult.net>:
>> >>>>> On Wed, 2012-03-14 at 16:10 +0100, Olav Vitters wrote:
>> >>>>>> On Wed, Mar 14, 2012 at 04:01:03PM +0100, Robert Fox wrote:
>> >>>>>> > Since the last few updates, I am experiencing erratic RPM db errors (on
>> >>>>>> > more than one machine):
>> >>>>>>
>> >>>>>> This should already be fixed. Maybe your mirror lags behind a bit.
>> >>>>>>
>> >>>>>
>> >>>>> I have the latest updates and it just happened - I will rebuild the db
>> >>>>> and report back if it happens again.
>> >>>>
>> >>>> Just did updates (including rpm-4.9.1.2-22.mga2) on 2 cauldron
>> >>>> installations. Last mirror sync with tier1 was 1:20 hours ago.
>> >>>> No problems with rpm db
>> >>>
>> >>> Now I did some more package management:
>> >>>  - I opened a konsole window, did another check with 'urpmi
>> >>> --auto-update' which turned up no updates. After that rpm database was
>> >>> unlocked. Good.
>> >>>  - I opened rpmdrake from the konsole and marked all KDE handbooks for
>> >>> uninstall. I clicked on OK and watched the output in the konsole
>> >>> window.
>> >>>  - after the second handbook urpmi crashed with a segmentation fault
>> >>> and rpmdrake showed a message box with the same error (segfault).
>> >>>
>> >>> Then I rebooted the system and starting rpmdrake on the konsole returned:
>> >>> * getting lock on urpmi
>> >>> * [reading all synthesis files, ok]
>> >>> * Error: rpmdb: Thread/process 2794/1397..... failed: Thread died in
>> >>> Berkeley DB library
>> >>> * Error: db4 error from dbenv->failchk: DB_RUNRECOVERY: Fatal error,
>> >>> run database recovery
>> >>> * Error: Unable to open packages index, using db4
>> >>> * Error: Unable to open package database in /var/lib/rpm
>> >>> * unlocking urpmi database
>> >>>
>> >>> Mind that this happened with latest updates as written in my previous mail.
>> >>
>> >> Adding info: erasing and rebuilding the db does not work. After
>> >> removing the _db* I run # rpm --rebuilddb which returns
>> >> :
>> >> * Error: rpmdb: Thread/process 2794/1397..... failed: Thread died in
>> >> Berkeley DB library
>> >> * Error: db4 error from dbenv->failchk: DB_RUNRECOVERY: Fatal error,
>> >> run database recovery
>> >> * Error: Unable to open packages index, using db4
>> >>
>> >> Result: system is unusable now.
>> >
>> > Solution: I had to manually erase the lock file /var/lib/rpm/.RPMLOCK
>> > After that rebuilding the database worked and urpmi is usable again.
>>
>> Ok, here we go again:
>> I did the same as described earlier:
>> Updates, then opening rpmdrake and marking all handbook packages for
>> uninstall. After uninstalling one or two packages rpmdrake segfaults.
>> Opening it again shows the known errors about the rpm database.
>>
>> Unfortunately rpmdrake gives no other error message than "Segmentation
>> fault" - that's it. So I don't know whether the error messages about
>> the rpm database are just a result of the segfault or the cause of the
>> segfault.
>>
>> --
>> wobo
>
> Hello Wolfgang -
>
> Try the rebuild again:
> rm -f /var/lib/rpm/__db*
> rpm --rebuilddb
>
> and then simple do:
> urpmi --auto-update -v
>
> That worked for me.  When I tried rpmdrake, I also got the corruption
> again.

As I wrote before, this did not work here, I have to erase the lock
file as well. After that the rebuild works ok.

As for the segfault - removing a single package via rpmdrake results
in a segfault, reproducable with any package..

-- 
wobo


More information about the Mageia-dev mailing list