nginx-0.8.34 with GeoIP enabled segfaulting

Vladimir Getmanshchuk vladget на openfilm.com
Вт Апр 6 14:06:38 MSD 2010


# gdb -c /spool/core/nginx.core.46385 /usr/local/sbin/nginx
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd"...
Core was generated by `nginx'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /lib/libcrypt.so.5...done.
Loaded symbols for /lib/libcrypt.so.5
Reading symbols from /usr/local/lib/libpcre.so.0...done.
Loaded symbols for /usr/local/lib/libpcre.so.0
Reading symbols from /lib/libmd.so.5...done.
Loaded symbols for /lib/libmd.so.5
Reading symbols from /lib/libz.so.5...done.
Loaded symbols for /lib/libz.so.5
Reading symbols from /usr/local/lib/libGeoIP.so.5...done.
Loaded symbols for /usr/local/lib/libGeoIP.so.5
Reading symbols from
/usr/local/lib/perl5/5.10.1/mach/CORE/libperl.so...done.
Loaded symbols for /usr/local/lib/perl5/5.10.1/mach/CORE/libperl.so
Reading symbols from /lib/libm.so.5...done.
Loaded symbols for /lib/libm.so.5
Reading symbols from /lib/libutil.so.8...done.
Loaded symbols for /lib/libutil.so.8
Reading symbols from /lib/libc.so.7...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from
/usr/local/lib/perl5/site_perl/5.10.1/mach/auto/nginx/nginx.so...done.
Loaded symbols for
/usr/local/lib/perl5/site_perl/5.10.1/mach/auto/nginx/nginx.so
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
#0  0x0000000800b66447 in _GeoIP_seek_record (gi=0x80141d0a0,
ipnum=3232261218) at GeoIP.c:635
635     GeoIP.c: No such file or directory.
        in GeoIP.c
(gdb) bt
#0  0x0000000800b66447 in _GeoIP_seek_record (gi=0x80141d0a0,
ipnum=3232261218) at GeoIP.c:635
#1  0x0000000800b67831 in GeoIP_id_by_ipnum (gi=0x80141d0a0,
ipnum=3232261218) at GeoIP.c:1092
#2  0x0000000800b673cd in GeoIP_country_code_by_ipnum (gi=0x80141d0a0,
ipnum=3232261218) at GeoIP.c:991
#3  0x000000000048bf05 in ngx_http_geoip_country_variable (r=0x801435c00,
v=0x8014496e0, data=4238596) at src/http/modules/ngx_http_geoip_module.c:176
#4  0x000000000045ad38 in ngx_http_get_indexed_variable (r=0x801435c00,
index=26) at src/http/ngx_http_variables.c:406
#5  0x000000000045fded in ngx_http_script_copy_var_len_code
(e=0x7fffffffe160) at src/http/ngx_http_script.c:710
#6  0x0000000000496608 in ngx_http_fastcgi_create_request (r=0x801435c00) at
src/http/modules/ngx_http_fastcgi_module.c:740
#7  0x000000000046283e in ngx_http_upstream_init_request (r=0x801435c00) at
src/http/ngx_http_upstream.c:478
#8  0x00000000004625d4 in ngx_http_upstream_init (r=0x801435c00) at
src/http/ngx_http_upstream.c:419
#9  0x0000000000459033 in ngx_http_read_client_request_body (r=0x801435c00,
post_handler=0x4624f0 <ngx_http_upstream_init>) at
src/http/ngx_http_request_body.c:58
#10 0x000000000049617d in ngx_http_fastcgi_handler (r=0x801435c00) at
src/http/modules/ngx_http_fastcgi_module.c:618
#11 0x000000000044296d in ngx_http_core_content_phase (r=0x801435c00,
ph=0x801630ed8) at src/http/ngx_http_core_module.c:1319
#12 0x00000000004416d2 in ngx_http_core_run_phases (r=0x801435c00) at
src/http/ngx_http_core_module.c:856
#13 0x0000000000441648 in ngx_http_handler (r=0x801435c00) at
src/http/ngx_http_core_module.c:839
#14 0x000000000044e5f4 in ngx_http_process_request (r=0x801435c00) at
src/http/ngx_http_request.c:1625
#15 0x000000000044d0a6 in ngx_http_process_request_headers (rev=0x801c00150)
at src/http/ngx_http_request.c:1068
#16 0x000000000044c88e in ngx_http_process_request_line (rev=0x801c00150) at
src/http/ngx_http_request.c:873
#17 0x000000000044c028 in ngx_http_init_request (rev=0x801c00150) at
src/http/ngx_http_request.c:514
#18 0x000000000042edcc in ngx_event_process_posted (cycle=0x801424050,
posted=0x5c83c0) at src/event/ngx_event_posted.c:39
#19 0x000000000042ca51 in ngx_process_events_and_timers (cycle=0x801424050)
at src/event/ngx_event.c:272
#20 0x0000000000439167 in ngx_worker_process_cycle (cycle=0x801424050,
data=0x0) at src/os/unix/ngx_process_cycle.c:795
#21 0x00000000004362d1 in ngx_spawn_process (cycle=0x801424050,
proc=0x438f90 <ngx_worker_process_cycle>, data=0x0, name=0x4a4de1 "worker
process", respawn=-3) at src/os/unix/ngx_process.c:196
#22 0x000000000043801a in ngx_start_worker_processes (cycle=0x801424050,
n=4, type=-3) at src/os/unix/ngx_process_cycle.c:355
#23 0x00000000004376e9 in ngx_master_process_cycle (cycle=0x801424050) at
src/os/unix/ngx_process_cycle.c:136
#24 0x000000000040b47c in main (argc=1, argv=0x7fffffffeba8) at
src/core/nginx.c:396
(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
(gdb)


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

> Hello!
>
> On Fri, Apr 02, 2010 at 06:04:05PM +0300, Vladimir Getmanshchuk wrote:
>
> > (gdb) bt
> > #0  0x0000000800b66447 in _GeoIP_seek_record (gi=0x80141d0a0,
> > ipnum=3232261218) at GeoIP.c:635
>
> fr 0
> p *gi
> p buf
> p stack_buffer
> p depth
>
> 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/20100406/912f7a1e/attachment.html>


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