Description of problem: mod_geoip causes an apache segfault on x86_64 Version-Release number of selected component (if applicable): mod_geoip-1.1.7-3.fc5 httpd-2.2.0-5.1.2 How reproducible: Everytime. Steps to Reproduce: 1. On an AMD64, yum install mod_geoip 2. service httpd restart 3. tail -f /var/log/httpd/error_log Actual results: [Fri Apr 14 16:13:39 2006] [notice] child pid 5766 exit signal Segmentation fault (11) [Fri Apr 14 16:13:39 2006] [notice] child pid 5767 exit signal Segmentation fault (11) [Fri Apr 14 16:13:39 2006] [notice] child pid 5768 exit signal Segmentation fault (11) [...] Expected results: Apache would start up without segfaulting. Additional info: I have tried moving all conf files except mod_geoip.conf out of the /etc/httpd/conf.d directory and the segfault continues. I have moved only mod_geoip out of the conf.d directory and apache runs correctly. If you have an idea of where to start looking for additional information, I'd be happy to do more troubleshooting.
Easily reproducible on a (recently acquired) AMD Sempron (64bit) running FC5-x86_64. (gdb) bt #0 0x00002aaaabaf9160 in strlen () from /lib64/libc.so.6 #1 0x00002aaab05544db in GeoIP_open ( filename=0x55741768 <Address 0x55741768 out of bounds>, flags=0) at GeoIP.c:376 #2 0x00002aaab043c46e in geoip_child_init (p=0x5555557b73d8, s=0x5555556b2de8) at mod_geoip.c:141 #3 0x000055555557de9d in ap_run_child_init () from /usr/sbin/httpd #4 0x000055555558f36d in ap_graceful_stop_signalled () from /usr/sbin/httpd #5 0x000055555558f88a in ap_graceful_stop_signalled () from /usr/sbin/httpd #6 0x00005555555900fd in ap_mpm_run () from /usr/sbin/httpd #7 0x000055555556b59c in main () from /usr/sbin/httpd (gdb) bt full #0 0x00002aaaabaf9160 in strlen () from /lib64/libc.so.6 No symbol table info available. #1 0x00002aaab05544db in GeoIP_open ( filename=0x55741768 <Address 0x55741768 out of bounds>, flags=0) at GeoIP.c:376 buf = {st_dev = 93824994735064, st_ino = 0, st_nlink = 140737485216928, st_mode = 2880390989, st_uid = 10922, st_gid = 1434153944, pad0 = 21845, st_rdev = 7, st_size = 93824994734816, st_blksize = 46912509404822, st_blocks = 93824994735064, st_atim = { tv_sec = 93824994735064, tv_nsec = 7}, st_mtim = {tv_sec = 93824994735280, tv_nsec = 93824993668584}, st_ctim = {tv_sec = 46912515119488, tv_nsec = 8}, __unused = {93824994318984, 93824993668584, 93824994735064}} gi = (GeoIP *) 0x5555557bb3d0 #2 0x00002aaab043c46e in geoip_child_init (p=0x5555557b73d8, s=0x5555556b2de8) at mod_geoip.c:141 cfg = (geoip_server_config_rec *) 0x555555727888 i = 0 #3 0x000055555557de9d in ap_run_child_init () from /usr/sbin/httpd No symbol table info available. #4 0x000055555558f36d in ap_graceful_stop_signalled () from /usr/sbin/httpd No symbol table info available. #5 0x000055555558f88a in ap_graceful_stop_signalled () from /usr/sbin/httpd No symbol table info available. I have a baaad feeling about this. (To get a core out of apache, add "CoreDumpDirectory /some/path" directive in httpd.conf. Install the debuginfo packages helps too - the above is with mod_geoip and GeoIP's installed)
Hi Toshio, Upstream have released new versions of this and the base GeoIP library and judging from a local build of both (on a fully-updated FC5 x86_64 box) it appears to fix this issue. I'm pushing out new packages on all branches at the moment, please let me know if it breaks in the Extras build.
Tried it with subsequent versions of mod_geoip / GeoIP. Apache seems happier, no more segfaults after many attempts. Closing this bug. :-)