Bug 6217 - rpm segfaults
: rpm segfaults
Status: CLOSED WORKSFORME
: Sisyphus
(All bugs in Sisyphus/rpm)
: unstable
: all Linux
: P2 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2005-03-04 18:46 by
Modified: 2008-03-19 12:21 (History)


Attachments
Testcase RPM DB (748.00 KB, application/octet-stream)
2005-03-04 18:47, Mikhail Yakshin
no flags Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2005-03-04 18:46:04
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 From 2005-03-04 18:47:48 -------
Created an attachment (id=764) [details]
Testcase RPM DB
------- Comment #2 From 2005-03-04 19:10:55 -------
Приаттачить в багзилле тесткейс не удалось из-за объема. Вот ссылка:

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

$ rpm -q rpm
rpm-4.0.4-alt77