[devel] Re: RPM::Database
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Ср Окт 19 21:46:29 MSD 2005
On Wed, Oct 19, 2005 at 09:17:25PM +0400, Dmitry V. Levin wrote:
> alt51$ ./rttest-alt52
> ./rttest-alt52: Symbol `rpmTagTable' has different size in shared object, consider re-linking
> rpmTagTableSize = 125
> rpmTagTable = 0x16b8e4
> Segmentation fault
^^^
В этой ситуации вот что происходит:
#0 0x400d73ef in strlen () from /usr/lib/debug/libc.so.6
#1 0x400ae405 in _IO_vfprintf (s=0x4017c7e0,
format=0x544d5052 <Address 0x544d5052 out of bounds>, ap=0xbffff1dc "ы\204\004\bфї\027@@ў")
at vfprintf.c:1468
#2 0x400b496f in *__GI_fprintf (stream=0x544d5052,
format=0x544d5052 <Address 0x544d5052 out of bounds>) at fprintf.c:32
#3 0x080484d4 in main () at test.c:6
(gdb) frame 3
#3 0x080484d4 in main () at test.c:6
6 fprintf(stdout, "tag0: %s$\n", tag0);
(gdb) p tag0
$1 = 0x544d5052 <Address 0x544d5052 out of bounds>
(gdb) p rpmTagTable
$2 = (const struct headerTagTableEntry_s *) 0x4006e8e4
(gdb) p rpmTagTable[0]
$3 = {name = 0x544d5052 <Address 0x544d5052 out of bounds>, val = 1214203713}
Такое впечатление, что происходит неправильный dereferencing, то есть
rpmTagTable в качестве указателя уже смотрит непойми куда. Я озадачен. :)
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20051019/d67dd0d2/attachment-0001.bin>
Подробная информация о списке рассылки Devel