Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: nginx-0.8.34 with GeoIP enabled segfaulting
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@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|