ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
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


 




Copyright © Lexa Software, 1996-2009.