Свежий баг. Редкий, но встречается. У меня случился на Oracle Linux.
Симптомы только косвенные. Началась утечка CPU на виртуальной машине. Прошло несколько дней, гипервизор стал жаловаться на процессор:
Смотрю статистику использования CPU гипервизора и вижу такую картину:
Видно утечку, ищем виновника.
Графики производительности помогают легко найти виртуальную машину с утечкой CPU. Заглянем ей в консоль.
Опа, процессоры сожраны запросами к RPM. Выполняю:
rpm -qa
Запрос зависает, Ctrl + C со скрежетом убиваем текущий процесс. Заново делаю тот же запрос, вот и виновник торжества:
ошибка: rpmdb: BDB0113 Thread/process 9817/139781811808320 failed: BDB1507 Thread died in Berkley DB library
ошибка: ошибка(5) db_30973 из dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
ошибка: невозможно открыть индекс Packages используя db5 - (-30973)
Быстрое решение проблемы
Пересоздаём базу RPM.
rm -f /var/lib/rpm/__db*
rpm -vv --rebuilddb
Немного терпения.
С облегчением.
Источник:
Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.