Bug 26833 - попытка вызвать rpmquery из post/pre скриптов приводит к deadlock
Summary: попытка вызвать rpmquery из post/pre скриптов приводит к deadlock
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: rpm (show other bugs)
Version: unstable
Hardware: all Linux
: P3 critical
Assignee: placeholder@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-01-18 18:47 MSK by Michail Yakushin
Modified: 2016-12-16 20:34 MSK (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michail Yakushin 2012-01-18 18:47:58 MSK
существует ряд сторонних пакетов, которые при своей установке хотят вызывать rpm -q. Поскольку база заблокирована самим rpm получается deadlock: rpm ждет когда завершится rpmquery, а rpmquery ждет когда будет разблокирована база.

Предлагаю пути решения:
1. Разблокировать базу перед запуском скриптов и блокировать обратно после
2. сделать какой нибудь workaround, который бы сохранял скрипты и запускал их после завершения работы rpm
Comment 1 Vitaly Lipatov 2012-02-18 13:21:12 MSK
В противоположность:
во время dist-upgrade (он был длительным, и я забыл про него) попытался поставить пакет через rpm и получил кучу сообщений о разбитой базе rpm и пр.

Кстати, вообще не очень понимаю, зачем блокировать базу при read-only операциях.
Comment 2 AEN 2012-03-02 21:54:59 MSK
Повышаю важность в связи с необходиостью для внешнего проекта.
Comment 3 Gleb F-Malinovskiy 2016-12-16 20:34:44 MSK
rpm -> sisyphus
* Thu Dec 08 2016 Gleb F-Malinovskiy <glebfm@altlinux.org> 4.13.0-alt2
...
  + rpmdb: allowed read from locked db (ALT#26833, ALT#19726);