Bug 26833

Summary: попытка вызвать rpmquery из post/pre скриптов приводит к deadlock
Product: Sisyphus Reporter: Michail Yakushin <silicium>
Component: rpmAssignee: placeholder <placeholder>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: critical    
Priority: P3 CC: aen, at, glebfm, imz, lav, ldv, placeholder, vt
Version: unstable   
Hardware: all   
OS: Linux   

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);