Mod GeoIP 1.2.7b now available for Apache 2.2.x & 2.4.x

Started by Gregg, November 24, 2012, 09:30:04 PM

Previous topic - Next topic

Gregg

This is our original mod_geoip 1.2.7 with a fix to the IPv6 part provided by Sob here. We thank him for the fix.

You can get mod_geoip/1.2.7b from our download page.

Sob

There still might be something wrong with this module, although I'm not exactly sure what.
Since I upgraded Apache on my work PC to 2.4 (your 2.4.3 x64), I sometimes see "runaway" php-cgi.exe processes in task list, because something happens to child httpd process ("AH00428: Parent: child process exited with status 255 -- Restarting." in server log; sometimes, but not always also exception 0xc0000005 in libapr-1.dll at 0x00000000000151c6 in event log).
While trying to figure it out, I got to disabling mod_geoip and it seems it makes a difference. I did not see it happen with this module disabled. And when re-enabled, it eventually happens again. Not soon enough to call it reliably reproducible, but I'm almost sure it's not caused by anything else. It happens with your original mod_geoip 1.2.7, new 1.2.7b and my self-compiled one too.
Anyone else seeing similar behaviour?

Jan-E

Are you using php_geoip.dll in combination with Piwik or MaxMind? There is a IPv6 patch for Piwik as well:
http://dev.piwik.org/trac/attachment/ticket/3581/piwik-geoip-ipv6.patch
http://dev.piwik.org/trac/attachment/ticket/3581/maxmind-libs-ipv6.patch

Edit: the discussion on that patch is here:
http://dev.piwik.org/trac/ticket/3581

Second edit: Or aren't you using php_geoip.dll at all, but only mod_geoip?

Gregg

You know, I've surprisingly had less problems with 1.2.7/b than I had with 1.2.5. The only time I do have problems (module crashes) is when it tries to look up a local address (192.168.*, 10.0.0.*, fe80::*). I haven't had mod_geoip crash since 22, October. Of course, I use no php, at least nothing index by Google/etc so who knows about it or where it is but me.

Sob

This is about mod_geoip. I do have php and also geoip extension for it, but I currently don't call it in any script. Also php runs under mod_fcgid, so even if it crashed, it would not take Apache down with it. It is Apache (httpd.exe) crashing and because the process owns php-cgi processes, they "run free" when parent dies.

This is my local testing server and even though there are few external accesses, it's used mostly by me on 127.0.*.* (in addition to default 127.0.0.1, I use few other addresses too). So if mod_geoip has some problems with local addresses, it might be it. But it does not happen every time, which makes the source of problem a little harder to find. I'll probably try to add some debugging output and see what it shows.