Bug 6217

Summary: rpm segfaults
Product: Sisyphus Reporter: Mikhail Yakshin <greycat>
Component: rpmAssignee: placeholder <placeholder>
Status: CLOSED WORKSFORME QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: at, glebfm, imz, ldv, mike, placeholder, vt
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
Testcase RPM DB none

Description Mikhail Yakshin 2005-03-04 18:46:04 MSK
rpm при описанной последовательности действий делает segfault. Если смотреть под
gdb, то получаем следующий дамп:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 14855)]
0x002aeeba in fpLookupList () from /usr/lib/librpmdb-4.0.4.so

$ rpm -q librpm rpm
librpm-4.0.4-alt42
rpm-4.0.4-alt42

Более того, если попробовать удалять, скажем, несуществующий пакет из базы, rpm
входит в бесконечный цикл по невозможности создать некий файл в tmp.
Steps to Reproduce:
1. Создать пустую директорию, назовем ее /chroot
2. Распаковать приаттаченный testcase базы RPM в /chroot/var/lib/rpm
3. rpm --rootdir /chroot -e inquisitor-client
Actual Results:  
segmentation fault

Expected Results:  
Пакет удаляется из базы, производится попытка удалить файлы пакета с диска,
вероятно, это не удается и выводятся какие-то предупреждения о том, что файлов нет.
Comment 1 Mikhail Yakshin 2005-03-04 18:47:48 MSK
Created attachment 764 [details]
Testcase RPM DB
Comment 2 Mikhail Yakshin 2005-03-04 19:10:55 MSK
Приаттачить в багзилле тесткейс не удалось из-за объема. Вот ссылка:

http://www.lrn.ru/~greycat/var.tar.bz2 [2223KB]
Comment 3 Dmitry V. Levin 2005-03-09 14:18:28 MSK
А каталог для временных файлов в /chroot создан?
Comment 4 Dmitry V. Levin 2006-01-10 03:02:32 MSK
Я так понимаю, что --root предназначена для пользователя root.
Тестировать надо root'ом?
Comment 5 Mikhail Yakshin 2008-03-19 12:20:59 MSK
Считаю нужным закрыть этот баг, т.к. у меня оно уже давно не воспроизводится -
ни с такой, ни с какой-либо другой базой с современным rpm.

$ rpm -q rpm
rpm-4.0.4-alt77