nginx-0.8.34 with GeoIP enabled segfaulting

Vladimir Getmanshchuk vladget на openfilm.com
Ср Апр 7 11:04:18 MSD 2010


Обновление базы помогло.

2010/4/7 Maxim Dounin <mdounin at mdounin.ru>

> Hello!
>
> On Tue, Apr 06, 2010 at 01:06:38PM +0300, Vladimir Getmanshchuk wrote:
>
> [...]
>
> > (gdb) fr 0
> > #0  0x0000000800b66447 in _GeoIP_seek_record (gi=0x80141d0a0,
> > ipnum=3232261218) at GeoIP.c:635
> > 635     in GeoIP.c
> > (gdb) p *gi
> > $1 = {GeoIPDatabase = 0x80133f700, file_path = 0x80144b040
> > "/usr/local/www/conf/nginx/GeoIP.dat", cache = 0x801502000 "\\\001",
> > index_cache = 0x0, databaseSegments = 0x80144c0ac,
> >   databaseType = 1 '\001', mtime = 1269938756, flags = 1, size = 959538,
> > record_length = 3 '\003', charset = 0, record_iter = -1515870811, netmask
> =
> > -1515870811, last_mtime_check = 1270548268}
> > (gdb) p buf
> > $2 = (const unsigned char *) 0x8074f6600 <Address 0x8074f6600 out of
> bounds>
> > (gdb) p stack_buffer
> > $3 = "═пA\001\b\000\000"
> > (gdb) p depth
> > $4 = 29
>
> Судя по всему - битая база.  Оно тупо выбирается по своим же
> оффсетам за границы своей же памяти, после чего и получает по
> рукам. Обновление до свежей версии GeoIP.dat с сайта помогает?
>
> Ну и выложите куда-нибудь ваш GeoIP.dat для полноты картины.
> Желательно огласив md5 от него, чтобы случайно не добить по
> дороге.
>
> Maxim Dounin
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
>



-- 
Yours sincerely,
Vladimir Getmanshchuk

UNIX System Administrator
Openfilm, LLC

Email: vladget at openfilm.com
Skype: vladimir.getmanshchuk
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20100407/01c452b4/attachment.html>


Подробная информация о списке рассылки nginx-ru